2009-10-09 45 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