在c#中创建并保存xls文件

时间:2009-10-09 10:46:39

标签: c# excel

我正在尝试使用c#这样创建一个xls文件

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文件的开放。但我想将文件保存在我的文件夹中而不打开并询问我的permision。

如何自动保存..

提前致谢

2 个答案:

答案 0 :(得分:0)

将内容类型更改为application / x-unknown - 取决于浏览器,这应该只提供保存选项,因为它不会将其识别为Excel文件。

另外,请注意您实际上只是保存带有Excel扩展名的HTML文件,它不是真正的Excel文件。

答案 1 :(得分:0)

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

在SpreadsheetGear ASP.NET Excel报告示例页面here上查看 DataTable to Excel Workbook C#或VB示例。

如果您想亲自试用,可以免费试用here

免责声明:我拥有SpreadsheetGear LLC