asp.net實現(xiàn)數(shù)據(jù)從DataTable導入到Excel文件并創(chuàng)建表的方法
更新時間:2015年12月04日 12:02:59 作者:happy664618843
這篇文章主要介紹了asp.net實現(xiàn)數(shù)據(jù)從DataTable導入到Excel文件并創(chuàng)建表的方法,涉及asp.net基于DataTable的數(shù)據(jù)庫及excel操作相關技巧,需要的朋友可以參考下
本文實例講述了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里對應的列名</param>
/// <param name="ColumnName">Excel中對應的列名</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程序設計有所幫助。
您可能感興趣的文章:
- asp.net core集成CKEditor實現(xiàn)圖片上傳功能的示例代碼
- asp.net core webapi文件上傳功能的實現(xiàn)
- ASP.NET Core單文件和多文件上傳并保存到服務端的方法
- 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的示例
相關文章
Net Core Web Api項目與在NginX下發(fā)布的方法
這篇文章主要介紹了Net Core Web Api項目與在NginX下發(fā)布的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-03-03
Xamarin.Forms在安卓機上進行本機調(diào)試
這篇文章介紹了Xamarin.Forms在安卓機上進行本機調(diào)試的方法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-02-02
.net core 1.0 實現(xiàn)單點登錄負載多服務器
這篇文章主要介紹了.net core 1.0 實現(xiàn)單點登錄負載多服務器的相關資料,非常不錯,具有參考借鑒價值,感興趣的朋友可以參考下2016-07-07
asp.net 繼承自Page實現(xiàn)統(tǒng)一頁面驗證與錯誤處理
一直以來,我都在思考以前一個項目中,后臺文件中很多的.aspx文件上的權限判斷問題,傻乎乎的我基本上每個文件當時都給加了一句2009-04-04
如何輕松搭建Windows8云平臺的開發(fā)環(huán)境
Windows Store應用是基于Windows 8操作系統(tǒng)的新一代Windows應用程序,其開發(fā)平臺以及運行模式和以往傳統(tǒng)平臺略有不同。為了幫助更多開發(fā)人員加入到Windows Store應用開發(fā)行列,本篇將介紹如何在Windows Azure云平臺搭建Windows8應用開發(fā)環(huán)境,本篇介紹的方法適合未安裝Windows8操作系統(tǒng),使用Mac或者Linux平臺的開發(fā)人員參考閱讀。2013-02-02
asp.net生成高質(zhì)量縮略圖通用函數(shù)(c#代碼),支持多種生成方式
這兩天正在研究報表中餅圖的繪圖方法,文章中的某些做法值得參考.2008-08-08

