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 参数的字符串值。这看起来像这样:2013 年 10 月 4 日下午 5:00:17。/:都是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 回答