好的,这可能有点不寻常。如果有更好的方法来做到这一点(同样容易,我愿意接受各种想法)。我刚才发现我可以打开一个由Gridview或表组成的网页,标题等作为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
答案 0 :(得分:3)
您没有创建Excel文件。
您正在创建一个文件扩展名为.xls
的HTML文件。这是HTML文件的错误扩展,这就是Excel为您提供警告的原因。正确的扩展名为.html
或.htm
。遗憾的是,.html
文件无法在Excel中自动打开,因此更改扩展程序需要用户在Excel中手动打开文件,而不是双击它。
我担心没有简单的方法可以解决这个问题。我们遇到了同样的问题,我们通过创建真实的 Excel文件解决了这个问题。 There are lots of Excel libraries for .NET available.我们使用SpreadsheetLight,因为它可以让您轻松copy a DataTable to an Excel file和send that file to the web client。