0

我需要做什么才能通过控制器操作使用 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"));

        }
4

1 回答 1

1

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

  1. 使用锚点打开文件并摆脱 ajax 请求。类似的东西<a href="/Report/ExcelExportData">会做。

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

于 2013-10-04T21:37:57.873 回答