1

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

PS 我采用模板 Excel 文档并将数据合并到其中以生成另一个文档。

我的代码如下

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

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

4

1 回答 1

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 无法打开文件,因为文件格式或文件扩展名无效”

于 2012-09-18T14:46:49.227 回答