将网页作为 Excel 文件打开,但带有 .xlsx 文件
Opening a web page as an Excel file, but with .xlsx files
好的,这可能有点不寻常。如果有更好的方法来做到这一点(同样简单,我愿意接受想法)。我不久前发现我可以打开一个由 Gridview 或 table 组成的网页,带有标题等作为 excel 文件,而且效果很好!它使用与页面中的 html 相似的颜色和对齐方式格式化 Excel 文件。但是,对于 excel 的更高版本,它在打开它之前警告我格式时间无效,尽管它似乎仍然有效。所以我尝试将内容类型更改为 excel 的更新版本,但我什么也没得到。这是我一直在做的(下)。
有谁知道如何更改它以便我可以在当前版本的 Excel 中打开页面而不会收到警告?
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Response.AppendHeader("Content-disposition", "attachment; filename=Filename.xls")
Response.ContentType = "application/vnd.ms-excel"
End Sub
您没有创建 Excel 文件。
您正在创建文件扩展名为 .xls
的 HTML 文件。这是 HTML 文件的错误扩展名,这就是 Excel 给您警告的原因。正确的扩展名是 .html
或 .htm
。不幸的是,.html
文件不会在 Excel 中自动打开,因此更改扩展名需要您的用户在 Excel 中手动打开文件,而不是直接双击它。
恐怕没有简单的方法可以解决这个问题。我们遇到了同样的问题,我们通过创建一个 real Excel 文件解决了这个问题。 There are lots of Excel libraries for .NET available. We used SpreadsheetLight, because it easily allows you to copy a DataTable to an Excel file and send that file to the web client.
好的,这可能有点不寻常。如果有更好的方法来做到这一点(同样简单,我愿意接受想法)。我不久前发现我可以打开一个由 Gridview 或 table 组成的网页,带有标题等作为 excel 文件,而且效果很好!它使用与页面中的 html 相似的颜色和对齐方式格式化 Excel 文件。但是,对于 excel 的更高版本,它在打开它之前警告我格式时间无效,尽管它似乎仍然有效。所以我尝试将内容类型更改为 excel 的更新版本,但我什么也没得到。这是我一直在做的(下)。
有谁知道如何更改它以便我可以在当前版本的 Excel 中打开页面而不会收到警告?
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Response.AppendHeader("Content-disposition", "attachment; filename=Filename.xls")
Response.ContentType = "application/vnd.ms-excel"
End Sub
您没有创建 Excel 文件。
您正在创建文件扩展名为 .xls
的 HTML 文件。这是 HTML 文件的错误扩展名,这就是 Excel 给您警告的原因。正确的扩展名是 .html
或 .htm
。不幸的是,.html
文件不会在 Excel 中自动打开,因此更改扩展名需要您的用户在 Excel 中手动打开文件,而不是直接双击它。
恐怕没有简单的方法可以解决这个问题。我们遇到了同样的问题,我们通过创建一个 real Excel 文件解决了这个问题。 There are lots of Excel libraries for .NET available. We used SpreadsheetLight, because it easily allows you to copy a DataTable to an Excel file and send that file to the web client.