gpt4 book ai didi

asp.net-mvc - ASP.net MVC 下载 Excel

转载 作者:行者123 更新时间:2023-12-01 02:48:03 25 4
gpt4 key购买 nike

我已成功使用 HTMLTextwriter 创建 Excel 文件,但返回的文件位于 Javascript 函数中。

查看代码为:

<input type="submit" id = "exportExcelBtn" class = "searchButton" value="Export To Excel" 
onclick= "ExportToExcel();"/>

JS函数然后获取控制 Action 所需的数据,然后调用相关 Action ,如下:

$.ajax({
type: "GET",
url: "/Search/ExportToExcel",
data: { //parameters },
error: function (error) {
alert(error.responseText);
},
success: function (data) {
alert("success");
alert(data);
}
});

Excel 文件是通过 ActionResult 派生创建的,并返回给 JS 方法。创建的 Excel 文件将按如下方式写入浏览器:

HttpContext context = HttpContext.Current;
context.Response.Clear();

context.Response.AddHeader("content-disposition", "attachment;filename=" + fileName);
context.Response.Charset = "";

context.Response.Cache.SetCacheability(HttpCacheability.NoCache);

context.Response.ContentType = contentType;
context.Response.Write(content);
context.Response.End();

那么我怎样才能将该文件下载到用户计算机上呢?

我可以轻松地在模型方法中使用 File.WriteAllText,但我觉得这是在欺骗 MVC 方法吗?

最佳答案

您不能在模型中使用File.WriteAllText
这会将其写入服务器。

您需要将位置设置为返回 Excel 文件内容的 URL。
在 MVC 中执行此操作的正确方法是 return File(content,"application/x-ms-excel", fileName)

关于asp.net-mvc - ASP.net MVC 下载 Excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6747532/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com