Excel2007导入
//導入支持excel2007 及各類數據驗收
??????? StringfileStyle = System.IO.Path.GetExtension(Fud_Execl.FileName);
??????? if(fileStyle.ToUpper() == ".XLS" ||fileStyle.ToUpper() == ".XLSX")
??????? {
??????????? //設置上傳到服務器的EXECL文檔的文件名
??????????? StringstrFileName = "電費已收" + DateTime.Now.ToString("yyyyMMddHHmmss") + fileStyle;
??????????? //設置上傳到服務器的EXECL文檔的路徑
??????????? StringstrPath = Server.MapPath("..\\..")+ "\\Excel\\InExcel\\" +strFileName;
??????????? if(Fud_Execl.PostedFile.ContentLength != 0)
??????????? {
??????????????? // 上傳文件到服務器上
???????????????Fud_Execl.PostedFile.SaveAs(strPath);
?
??????????????? //讀取EXCEL文件到datatable中
??????????????? DataTable dtExcel = new DataTable();
?
??????????????? try
??????????????? {
??????????????????? string strExcel = "select* from [Sheet1$]";
??????????????????? string connStr = string.Format("Provider={2};Data Source ={0};Extended Properties='Excel {1};HDR=YES;IMEX=1'",
??????????????????????? strPath,fileStyle.ToUpper() == ".XLS" ? "8.0" : "12.0",fileStyle.ToUpper() == ".XLS" ? "Microsoft.Jet.OLEDB.4.0" : "Microsoft.ACE.OLEDB.12.0");
??????????????????? using (OleDbConnection conn = new OleDbConnection(connStr))
??????????????????? {
??????????????????????? conn.Open();
???????????????????????OleDbDataAdapter da;
??????????????????????? string sql = "select* from [Sheet1$]? ";
??????????????????????? da = new OleDbDataAdapter(sql, conn);
??????????????? ????????da.Fill(dtExcel);
???????????????????????da.Dispose();
???????????????????????conn.Close();
???????????????????????conn.Dispose();
??????????????????? }
??????????????? }
??????????????? catch (System.Exceptionex)
??????????????? {
??????????? ????????GodTools.Show(this,"導入失敗,讀取工作表時出錯,可能工作表不存在。請將工作表名改為Sheet1!");
??????????????????? return;
??????????????? }
?
??????????????? // 保存EXCEL數據到數據庫中
??????????????? string strErr = "";//返回系統錯誤
??????????????? string strMsg = this.saveData(dtExcel,ref strErr);//返回自定義錯誤
??????????????? if (strMsg == "")
??????????????? {
???????????????????ClientScript.RegisterStartupScript(this.GetType(),"st", "alert('上傳與檢測成功!');", true);
??????????????? }
??????????????? else
??????????????? {
??????????????????? ClientScript.RegisterStartupScript(this.GetType(), "st","alert('" + strMsg + strErr + "');", true);
??????????????? }
??????????? }
??????? }
??????? else
??????? {
???????????ClientScript.RegisterStartupScript(this.GetType(),"st", "alert('只允許導入后綴名為XLS,XLSX的文件');", true);
??????? }
轉載于:https://blog.51cto.com/agilitygod/1419296
總結
以上是生活随笔為你收集整理的Excel2007导入的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Html基础Part1:Htmla标签的
- 下一篇: 写可測试的代码