ClosedXML:导出到 Excel 未下载文件 MVC 4
ClosedXML: Export To Excel not downloading the File MVC 4
我有一个 List<T>
,我将其转换为数据表,然后使用 ClosedXML 库通过 Kingsoft-Spreadsheets 将该数据表导出到 Excel。
但是,由于某种原因,代码无法正常工作,sheet 无法下载。我的 MVC 视图上出现了奇怪的符号屏幕。我附上了图片以供参考。非常感谢任何帮助。
看起来 Excel 文件已正确创建,但您的浏览器试图将其作为纯文本文件打开。正确设置响应的内容类型和内容配置 header,如下所示:
Response.AddHeader("content-disposition", "attachment; filename=" + myName);
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; // or "application/vnd.ms-excel"
有关完整的工作代码示例,请参阅此 question 及其答案。
不好意思,我用的是 ajax post back on Export Excel button click,没有页面 postback.Acutally full page post back is必需的。我刚刚添加了 window.location.href 以及各自的控制器和操作方法,瞧......它工作正常。
你应该避免调用 ajax :
function ExportSPReport() {
window.location = '@Url.Action("ExportSPReport", "Report")';
@*$.ajax({
url: '@Url.Action("ExportSPReport", "Report")',
type: "GET",
success: function (data) {
//alert(data);
//$("#downloadFile").attr("href", data);
//document.getElementById('downloadFile').click();
},
error: function (reponse) {
}
});
}*@
}
我有一个 List<T>
,我将其转换为数据表,然后使用 ClosedXML 库通过 Kingsoft-Spreadsheets 将该数据表导出到 Excel。
但是,由于某种原因,代码无法正常工作,sheet 无法下载。我的 MVC 视图上出现了奇怪的符号屏幕。我附上了图片以供参考。非常感谢任何帮助。
看起来 Excel 文件已正确创建,但您的浏览器试图将其作为纯文本文件打开。正确设置响应的内容类型和内容配置 header,如下所示:
Response.AddHeader("content-disposition", "attachment; filename=" + myName);
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; // or "application/vnd.ms-excel"
有关完整的工作代码示例,请参阅此 question 及其答案。
不好意思,我用的是 ajax post back on Export Excel button click,没有页面 postback.Acutally full page post back is必需的。我刚刚添加了 window.location.href 以及各自的控制器和操作方法,瞧......它工作正常。
你应该避免调用 ajax :
function ExportSPReport() {
window.location = '@Url.Action("ExportSPReport", "Report")';
@*$.ajax({
url: '@Url.Action("ExportSPReport", "Report")',
type: "GET",
success: function (data) {
//alert(data);
//$("#downloadFile").attr("href", data);
//document.getElementById('downloadFile').click();
},
error: function (reponse) {
}
});
}*@
}