asp.net實現(xiàn)數(shù)據(jù)從DataTable導入到Excel文件并創(chuàng)建表的方法
本文實例講述了asp.net實現(xiàn)數(shù)據(jù)從DataTable導入到Excel文件并創(chuàng)建表的方法。分享給大家供大家參考,具體如下:
/// <summary> /// 把數(shù)據(jù)從DataTable導入到Excel文件里 /// </summary> /// <param name="dataTable">數(shù)據(jù)源</param> /// <param name="AbsoluteExcelFilePath">Excel文件的絕對路徑</param> /// <param name="TblColName">TBL里對應(yīng)的列名</param> /// <param name="ColumnName">Excel中對應(yīng)的列名</param> /// <returns>操作成功返回True,失敗返回False</returns> public static bool ExportDataToExcel(DataTable dataTable, string AbsoluteExcelFilePath, string[] TblColName, string[] ColumnName) { int k = 0; if (dataTable == null) return false; OleDbConnection Conn = new OleDbConnection(); try { string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + AbsoluteExcelFilePath + ";Mode=Share Deny None;Extended Properties=Excel 8.0;Jet OLEDB:Create System Database=True"; Conn = new OleDbConnection(strConn); Conn.Open(); OleDbCommand command = Conn.CreateCommand(); string strSQL = ""; if (dataTable.Columns != null) { //建表 strSQL = "CREATE TABLE " + dataTable.TableName + "("; for (int i = 0; i < ColumnName.Length; i++) { strSQL += ColumnName[i] + " TEXT,"; } strSQL = strSQL.Substring(0, strSQL.Length - 1); strSQL += ")"; command.CommandText += strSQL; command.ExecuteNonQuery(); if (dataTable.Rows.Count > 0) { //導入數(shù)據(jù) foreach (DataRow row in dataTable.Rows) { strSQL = "insert into " + dataTable.TableName + "("; for (k = 0; k < TblColName.Length; k++) { strSQL += ColumnName[k] + ","; } strSQL = strSQL.Substring(0, strSQL.Length - 1); strSQL += ") values( "; for (k = 0; k < TblColName.Length; k++) { strSQL += "'" + row[TblColName[k]] + "',"; } strSQL = strSQL.Substring(0, strSQL.Length - 1); strSQL += ")"; command.CommandText = strSQL; command.ExecuteNonQuery(); } } } } catch (Exception ex) { Conn.Close(); throw new Exception(ex.Message); return false; } Conn.Close(); return true; }
調(diào)用方法:
DataSet ds = (DataSet)Session["listMobile"];//獲得要導出的表格的值 if (ds.Tables[0].Rows.Count <= 0) { Page.RegisterStartupScript("", "<mce:script type="text/javascript"><!-- alert('沒有內(nèi)容不能導出!') // --></mce:script>"); } else { //EXCEL頁面的名稱 string[] tableName = { "["+DateTime.Now.ToString("yyyyMMddhhmmss")+"]" }; string fileName = tools.CreateID() + ".xls"; string filePath = Server.MapPath("..//DownloadFiles//" + fileName); if (tools.ExportDataToExcel(ds, filePath, tableName)==true) { Response.Clear(); Response.Buffer = true; Response.Charset = "GB2312"; Response.AppendHeader("Content-Disposition", "attachment;filename=" + fileName); Response.ContentType = "application/vnd.ms-excel"; this.EnableViewState = false; Response.WriteFile(filePath); Response.Flush(); if (System.IO.File.Exists(filePath)) System.IO.File.Delete(filePath); Response.Redirect(this.Request.UrlReferrer.AbsoluteUri, true); Response.End(); } }
希望本文所述對大家asp.net程序設(shè)計有所幫助。
- asp.net core集成CKEditor實現(xiàn)圖片上傳功能的示例代碼
- asp.net core webapi文件上傳功能的實現(xiàn)
- ASP.NET Core單文件和多文件上傳并保存到服務(wù)端的方法
- asp.net利用ashx文件實現(xiàn)文件的上傳功能
- asp.net大文件上傳解決方案實例代碼
- asp.net上傳Excel文件并讀取數(shù)據(jù)的實現(xiàn)方法
- ASP.NET Core中使用EPPlus導入出Excel文件的完整步驟
- ASP.NET Core 導入導出Excel xlsx 文件實例
- ASP.NET之Excel下載模板、導入、導出操作
- asp.net實現(xiàn)將Excel中多個sheet數(shù)據(jù)導入到SQLSERVER中的方法
- asp.net中EXCEL數(shù)據(jù)導入到數(shù)據(jù)庫的方法
- Asp.Net使用Npoi導入導出Excel的方法
- ASP.NET下將Excel表格中的數(shù)據(jù)規(guī)則的導入數(shù)據(jù)庫思路分析及實現(xiàn)
- ASP.NET 上傳文件導入Excel的示例
相關(guān)文章
Net Core Web Api項目與在NginX下發(fā)布的方法
這篇文章主要介紹了Net Core Web Api項目與在NginX下發(fā)布的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-03-03Xamarin.Forms在安卓機上進行本機調(diào)試
這篇文章介紹了Xamarin.Forms在安卓機上進行本機調(diào)試的方法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-02-02.net core 1.0 實現(xiàn)單點登錄負載多服務(wù)器
這篇文章主要介紹了.net core 1.0 實現(xiàn)單點登錄負載多服務(wù)器的相關(guān)資料,非常不錯,具有參考借鑒價值,感興趣的朋友可以參考下2016-07-07asp.net 繼承自Page實現(xiàn)統(tǒng)一頁面驗證與錯誤處理
一直以來,我都在思考以前一個項目中,后臺文件中很多的.aspx文件上的權(quán)限判斷問題,傻乎乎的我基本上每個文件當時都給加了一句2009-04-04如何輕松搭建Windows8云平臺的開發(fā)環(huán)境
Windows Store應(yīng)用是基于Windows 8操作系統(tǒng)的新一代Windows應(yīng)用程序,其開發(fā)平臺以及運行模式和以往傳統(tǒng)平臺略有不同。為了幫助更多開發(fā)人員加入到Windows Store應(yīng)用開發(fā)行列,本篇將介紹如何在Windows Azure云平臺搭建Windows8應(yīng)用開發(fā)環(huán)境,本篇介紹的方法適合未安裝Windows8操作系統(tǒng),使用Mac或者Linux平臺的開發(fā)人員參考閱讀。2013-02-02asp.net生成高質(zhì)量縮略圖通用函數(shù)(c#代碼),支持多種生成方式
這兩天正在研究報表中餅圖的繪圖方法,文章中的某些做法值得參考.2008-08-08