【发布时间】:2022-03-29 20:39:09
【问题描述】:
我需要将 Grid.MVC 中的数据导出到 Excel。我使用了此链接中的解决方案。
http://www.codeproject.com/Articles/325103/MVC-Grid-to-Excel-file-download?msg=5161340#xx5161340xx
它正在工作,但我有 2 个问题。首先它在 chrome 中工作,但在 IE 中不工作。它在 IE 中给我一个错误(文件无法读取)。第二个问题是,当我过滤 Grid 时,Excel 中的导出数据仍然显示所有数据,而不是过滤后的数据。
如果这不是一个好的解决方案,请提供将 Grid.MVC 数据导出到 excel 的示例。
【问题讨论】:
-
对于“文件无法读取”,这有点猜测,但从示例中我注意到
curContext.Response.AddHeader("content-disposition", "attachment;filename=" + fileName);并记得 Firefox 有一些问题,如果文件名有空格,因此会混淆浏览器。您绝对应该将文件名放在引号中,如下所示:curContext.Response.AddHeader("Content-Disposition", string.Format("attachment;filename=\"{0}\"", fileName)); -
该代码无法在任何浏览器中运行,因为它不会创建 Excel 文件。它创建一个带有假扩展名的 HTML 表。该HTML 标记 的任何问题,例如某些单元格中的意外
<都会破坏它。代码将运行,但没有程序能够导入该 HTML 文件 -
有 很多 个重复的问题表明使用像 Epplus 这样的库在 C# 中创建一个真正的 xlsx 文件是多么容易。还有其他问题展示了如何使用适当的库在 Javascript 中执行相同的操作。
标签: c# asp.net-mvc asp.net-mvc-4