using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.IO; using System.Runtime.InteropServices; using Microsoft.Win32; using System.Diagnostics; using System.Data; using System.Data.OleDb; public partial class Default : System.Web.UI.Page { string currFilePath = string.Empty; //待读取文件的全路径 string currFileExtension = string.Empty; //文件的扩展名 public int count = 0;//计数器 public static DataTable dt_date = new DataTable(); public string str_ordernumner = ""; public string str_Wrongordernumner = ""; public string ordernumner_a = ""; public string EmployeeID = ""; static System.Data.DataTable dt = new System.Data.DataTable(); protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { } } ///<summary> ///上传文件到临时目录中 ///</ummary> private void Upload() { HttpPostedFile file = this.fileSelect.PostedFile; string fileName = file.FileName; if (fileName.Length <= 0) { this.Page.ClientScript.RegisterStartupScript(GetType(), "", "<script>alert('请选择上传文件!')</script>"); return; } string time = DateTime.Now.ToString("yyyyMMddHHmmss"); string filepath = Server.MapPath("upfile/" + time + Path.GetFileName(fileSelect.PostedFile.FileName)); string tempPath = System.IO.Path.GetTempPath(); //获取系统临时文件路径 fileName = System.IO.Path.GetFileName(fileName); //获取文件名(不带路径) this.currFileExtension = System.IO.Path.GetExtension(fileName); //获取文件的扩展名 this.currFilePath = filepath; file.SaveAs(filepath); } /// <summary> /// 读取数据源 /// </summary> /// <param name="sExcelFile"></param> /// <param name="dgBom"></param> public DataTable ReadExcelToTable(string sExcelFile) { DataTable dt = new DataTable(); try { System.Data.DataTable ExcelTable; DataSet ds = new DataSet(); //Excel的连接 string strconn = "provider=microsoft.jet.oledb.4.0;" + "data source=" + sExcelFile + ";" + "extended properties=excel 8.0;"; OleDbConnection objConn = new OleDbConnection(strconn); objConn.Open(); System.Data.DataTable schemaTable = objConn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null); string tableName = schemaTable.Rows[0][2].ToString().Trim();//获取 Excel 的表名,默认值是sheet1 string strSql = "select * from [" + tableName + "]"; OleDbDataAdapter myData = new OleDbDataAdapter(strSql, objConn); myData.Fill(ds, tableName);//填充数据 ExcelTable = ds.Tables[tableName]; dt = ds.Tables[tableName]; objConn.Close(); } catch { try { System.Data.DataTable ExcelTable; DataSet ds = new DataSet(); //Excel的连接 string strconn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + sExcelFile + ";Extended Properties=\"Excel 12.0;HDR=YES\""; OleDbConnection objConn = new OleDbConnection(strconn); objConn.Open(); System.Data.DataTable schemaTable = objConn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null); string tableName = schemaTable.Rows[0][2].ToString().Trim();//获取 Excel 的表名,默认值是sheet1 string strSql = "select * from [" + tableName + "]"; OleDbDataAdapter myData = new OleDbDataAdapter(strSql, objConn); myData.Fill(ds, tableName);//填充数据 ExcelTable = ds.Tables[tableName]; dt = ds.Tables[tableName]; objConn.Close(); } catch (Exception ex) { this.Page.ClientScript.RegisterStartupScript(GetType(), "", "<script>alert('出错啦!" + ex.Message + "')</script>"); } } return dt; } protected void Button1_Click(object sender, EventArgs e) { Upload(); if (this.currFileExtension == ".xlsx" || this.currFileExtension == ".xls" || this.currFileExtension == ".csv") { DataTable dt = ReadExcelToTable(currFilePath); //读取Excel文件(.xls和.xlsx格式) DataTable dtData = new DataTable(); dtData.Columns.Add("itemnumber"); dtData.Columns.Add("ebaytransactionid"); dtData.Columns.Add("buyerid"); dtData.Columns.Add("price"); dtData.Columns.Add("TK"); try { if (dt.Rows.Count > 0) { for (int i = 0; i < dt.Rows.Count; i++) { DataRow dr = dtData.NewRow(); dr["itemnumber"]= "\"="+dt.Rows[i].ItemArray[0].ToString().Trim().Replace("\n", "").Trim()+"\""; dr["ebaytransactionid"] = "\"=" + dt.Rows[i].ItemArray[1].ToString().Trim().Replace("\n", "").Trim() + "\""; dr["buyerid"] = dt.Rows[i].ItemArray[2].ToString().Trim().Replace("\n", "").Trim(); dr["price"] = dt.Rows[i].ItemArray[3].ToString().Trim().Replace("\n", "").Trim(); dr["TK"] = dt.Rows[i].ItemArray[4].ToString().Trim().Replace("\n", "").Trim(); dtData.Rows.Add(dr); } } if (dtData.Rows.Count > 0) { ExcelHelper eh = new ExcelHelper(); eh.DataTable3Excel(dtData, "EUB"); } } catch (Exception ex) { this.Page.ClientScript.RegisterStartupScript(GetType(), "", "<script>alert('抱歉出错了!')</script>"); return; } } else { this.Page.ClientScript.RegisterStartupScript(GetType(), "", "<script>alert('请上传Excel文件格式文件!')</script>"); return; } } }