使用.Net将数据导出到Excel,在尝试访问生成的文件时收到错误消息

时间:2012-09-18 12:23:03

标签: vb.net export-to-excel

我正在尝试使用vb.net framework 3.5将数据从sqlServer导出到MS Excel文件,everthing工作正常并保存或打开保存或打开对话框,当您保存文件时保存但尝试访问文件时我得到一个“Excel无法打开文件'generated.xlsx',因为文件格式或文件扩展名无效。验证文件是否已损坏,文件扩展名是否与文件格式”消息匹配。我安装了MS Office 2007。

P.S我拿一个模板Excel文档并将数据合并到其中以生成另一个文档。

我的代码如下

    Response.Clear()
    Response.ContentType = "application/ms-excel"
    Response.AddHeader("Content-Disposition", "attachment;filename=generated.xlsx")
    ExportToExcel(dt)
    Response.Flush()
    Response.End()

并将以下内容添加到web.config文件中                                                  

1 个答案:

答案 0 :(得分:2)

您可以尝试将文件重命名为.xls。如果可行,则需要将扩展​​名从.xlsx更改,或者更可能将mime类型更改为

Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"

有关Office 2007的更多MIME类型,请参阅http://technet.microsoft.com/en-us/library/ee309278(v=office.12).aspx

为了澄清我之前的帖子,您是否转到已保存的文件并将扩展名更改为.xls?如果您将Excel文件保存为office 2003,然后将扩展名更改为.xlsx,则会收到错误消息“excel无法打开文件,因为文件格式或文件扩展名无效”