使用JavaScript从Controller启动excel文件

时间:2013-10-04 20:32:44

标签: c# javascript asp.net-mvc excel

使用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"));

        }

1 个答案:

答案 0 :(得分:1)

实际上,您无法直接从ajax回调响应中打开文件。您可以尝试两种不同的方法:

  1. 使用锚点打开文件并删除ajax请求。像<a href="/Report/ExcelExportData">这样的东西会做。

  2. 在成功回调中调用window.open(link)。这种方法的唯一优点是它允许您处理意外错误(找不到文件或类似的东西)。不过,它会对服务器进行另一次往返。