我有一个List<T>
,我将其转换为Datatable,然后使用ClosedXML库通过Kingsoft-Spreadsheets将Datatable导出到Excel。
但是,由于某种原因,代码无法正常工作且未下载工作表。我的MVC视图上有一个奇怪的符号屏幕。我已附上图片以供参考。任何帮助非常感谢。
答案 0 :(得分:1)
看起来Excel文件已正确创建,但您的浏览器尝试像纯文本文件一样打开它。正确设置响应的内容类型和内容处置标头,如下所示:
Response.AddHeader("content-disposition", "attachment; filename=" + myName);
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; // or "application/vnd.ms-excel"
有关完整的代码示例,请参阅此question及其答案。
答案 1 :(得分:0)
我的不好,我在导出Excel按钮上使用ajax回帖点击,没有页面回发。需要回复整页回发。我刚刚添加了window.location.href和各自的控制器和动作方法,并且工作正常。
答案 2 :(得分:-1)
你应该避免调用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) {
}
});
}*@
}