2009-10-09 44 views
0

我試圖創建一個使用C#中的XLS文件這樣創建並保存的XLS文件在C#

protected void ExportToExcel(DataSet dset, int TableIndex, HttpResponse Respone, string Felename) 
    { 
     Respone.Clear(); 
     Respone.Charset = ""; 
     Respone.ContentType = "application/vnd.ms-excel"; 
     Respone.AddHeader("content-disposition", "attachment; filename=" + Felename + ".xls"); 
     System.IO.StringWriter sw = new System.IO.StringWriter(); 

     System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(sw); 
     GridView gv = new GridView(); 
     gv.DataSource = dset.Tables[TableIndex]; 
     gv.DataBind(); 
     gv.RenderControl(hw); 
     Respone.Write(sw.ToString()); 
     Respone.End(); 
    } 

這是爲我工作的罰款。但它是在成功完成後創建xls文件的開放。但是我想將文件保存在我的文件夾中,而無需打開並詢問我的許可證。

我如何能自動保存..

在此先感謝

+0

這SO線程,【答案這裏鏈接](http://stackoverflow.com/questions/871115/what-is-the-best-and-fastest-way-to -write-into-excel-file-using-c/871142#871142)是一種好方法。 – kenny 2009-10-09 14:19:06

回答

0

更改內容類型應用程序/ x-未知 - 根據瀏覽器,這裏只提供了一個保存選項,因爲它不會將其識別爲Excel文件。

另外,請注意,您實際上只是使用Excel擴展名保存HTML文件,但並不是真正的Excel文件。

+0

哦那麼是否有任何其他方式將我的數據集導出到Excel文件?你可以給我一個示例代碼 – Nagu 2009-10-09 10:56:37

+0

您可能需要使用Excel互操作,或購買第三方組件來做到這一點。 HTML方式將在一定程度上起作用。 – cjk 2009-10-09 12:25:11

+0

或CSV逗號分隔文件也可以。 – kenny 2009-10-09 14:16:45

0

SpreadsheetGear for.NET可以從DataTable保存到Excel工作簿。

請參閱DataTable到Excel工作簿 SpreadsheetGear ASP.NET Excel報告示例頁面here上的C#或VB示例。

如果您想自己嘗試,可以下載免費試用here

聲明:我自己的SpreadsheetGear LLC