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 コールバック応答から直接ファイルを開くことはできません。2 つの異なるアプローチを試すことができます。

  1. ファイルを開くためにアンカーを使用し、ajax リクエストを取り除きます。のような<a href="/Report/ExcelExportData">ことができます。

  2. window.open(link)成功のコールバック内で呼び出します。このアプローチの唯一の利点は、予期しないエラー (ファイルが見つからないなど) を処理できることです。ただし、サーバーへの別のラウンドトリップを実行します。

于 2013-10-04T21:37:57.873 に答える