1

Excel ファイルを起動しようとしましたが、エラーが発生しました。

Excelファイルを起動しようとしましたが、次のようになります:

パスの不正な文字

コントローラーのアクション:

    public ActionResult ExportData(DateTime Date)
    {

        return File("~\\Reports\\ExcelExport.xlsm?Date=" + Date, "application/vnd.ms-excel" , Server.UrlEncode("~\\Reports\\ExcelExport.xlsm?Date=" + Date));

    }

JavaScript:

function ExportToExcel() {

    var link = '/Report/ExportData';
    var Date= $("#Date").val();
    $.ajax({
        url: link,
        contentType: 'application/json; charset=utf-8',
        data: { Date: Date},
        success: function (result) {                
        },
        error: function (result) {

        }
    });

};
4

3 に答える 3

4

パスに DateTime パラメーターの文字列値を含めています。10/4/2013 5:00:17 PM のようになります。/:は両方とも、Windows パスでは無効な文字です。

于 2013-10-04T21:02:04.343 に答える
2

疑問符は、ファイル名の有効な文字ではありません。

http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx

于 2013-10-04T21:00:58.910 に答える
2

ハイブリッド URL/物理ファイル パスを渡しています。ディスク上にある場合は、次のようにして物理ファイル パスを取得します。

string filePath = Server.MapPath(Url.Content("~/Reports/ExcelExport.xlsm"));
于 2013-10-04T21:01:53.213 に答える