使用javascript通过控制器操作打开excel文件需要做什么? 我试过这种方式,但它没有打开文件。
JavaScript功能:
function ExcelExport() {
var link = '/Report/ExcelExportData';
$.ajax({
type: 'POST',
url: link,
success: function (result) {
},
error: function (result) {
}
});
};
控制器操作:
public ActionResult ExcelExportData()
{
return File("~/Reports/ExcelFile.xlsm", Server.UrlEncode("~/Reports/ExcelFile.xlsm"));
}
答案 0 :(得分:1)
实际上,您无法直接从ajax回调响应中打开文件。您可以尝试两种不同的方法:
使用锚点打开文件并删除ajax请求。像<a href="/Report/ExcelExportData">
这样的东西会做。
在成功回调中调用window.open(link)
。这种方法的唯一优点是它允许您处理意外错误(找不到文件或类似的东西)。不过,它会对服务器进行另一次往返。