ASP.NET使用GridView導出Excel實現(xiàn)方法
來源:易賢網 閱讀:1245 次 日期:2014-12-01 11:39:52
溫馨提示:易賢網小編為您整理了“ASP.NET使用GridView導出Excel實現(xiàn)方法”,方便廣大網友查閱!

本文實例講述了ASP.NET使用GridView導出Excel實現(xiàn)方法。分享給大家供大家參考。具體實現(xiàn)方法如下:

復制代碼 代碼如下:/// <summary>

/// 將DataTable數(shù)據(jù)導出到EXCEL,調用該方法后自動返回可下載的文件流

/// </summary>

/// <param name="dtData">要導出的數(shù)據(jù)源</param>

public static void DataTable1Excel(System.Data.DataTable dtData)

{

System.Web.UI.WebControls.GridView gvExport = null;

// 當前對話

System.Web.HttpContext curContext = System.Web.HttpContext.Current;

// IO用于導出并返回excel文件

System.IO.StringWriter strWriter = null;

System.Web.UI.HtmlTextWriter htmlWriter = null;

if (dtData != null)

{

// 設置編碼和附件格式

curContext.Response.ContentType = "application/vnd.ms-excel";

curContext.Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");

curContext.Response.Charset = "utf-8";

// 導出excel文件

strWriter = new System.IO.StringWriter();

htmlWriter = new System.Web.UI.HtmlTextWriter(strWriter);

// 為了解決gvData中可能進行了分頁的情況,需要重新定義一個無分頁的GridView

gvExport = new System.Web.UI.WebControls.GridView();

gvExport.DataSource = dtData.DefaultView;

gvExport.AllowPaging = false;

gvExport.DataBind();

// 返回客戶端

gvExport.RenderControl(htmlWriter);

curContext.Response.Write("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\" />" + strWriter.ToString());

curContext.Response.End();

}

}

/// <summary>

/// 直接輸出Excel

/// </summary>

/// <param name="dtData"></param>

public static void DataTable2Excel(System.Data.DataTable dtData)

{

System.Web.UI.WebControls.DataGrid dgExport = null;

// 當前對話

System.Web.HttpContext curContext = System.Web.HttpContext.Current;

// IO用于導出并返回excel文件

System.IO.StringWriter strWriter = null;

System.Web.UI.HtmlTextWriter htmlWriter = null;

if (dtData != null)

{

// 設置編碼和附件格式

curContext.Response.ContentType = "application/vnd.ms-excel";

curContext.Response.ContentEncoding =System.Text.Encoding.UTF8;

curContext.Response.Charset = "";

// 導出excel文件

strWriter = new System.IO.StringWriter();

htmlWriter = new System.Web.UI.HtmlTextWriter(strWriter);

// 為了解決dgData中可能進行了分頁的情況,需要重新定義一個無分頁的DataGrid

dgExport = new System.Web.UI.WebControls.DataGrid();

dgExport.DataSource = dtData.DefaultView;

dgExport.AllowPaging = false;

dgExport.DataBind();

// 返回客戶端

dgExport.RenderControl(htmlWriter);

curContext.Response.Write(strWriter.ToString());

curContext.Response.End();

}

}

希望本文所述對大家的asp.net程序設計有所幫助。

更多信息請查看IT技術專欄

更多信息請查看網絡編程

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯(lián)系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網