我使用Aspose.Cells创建excel文件。
实际上,我试图将xls文件保存到磁盘上,但无法解决这个问题。这是我的get方法。
[Route("xls")]
[HttpGet]
public HttpResponseMessage Export()
{
try
{
string dataDir = KnownFolders.GetPath(KnownFolder.Downloads);
//var workbook = TransferService.Export(); //TODO get xml
Workbook workbook = new Workbook();
var stream = workbook.SaveToStream();
// I need save this workbook
return Request.CreateResponse(HttpStatusCode.OK); //it's not important here
}
catch (Exception ex)
{
return Request.CreateResponse(HttpStatusCode.InternalServerError); //it's not important here
}
}
我还有一个叫做onClick的函数
function exportToXls() {
$.get(exportURI, function (response) {
return response;
});
}
当有人点击它应该保存在他的磁盘上的文件(或打开浏览器,我可以选择的地方和名称)。如何解决这个问题?
3条答案
按热度按时间uttx8gqw1#
如果启用了CORS,则可能需要允许Content-Disposition标题:
对于Javascript端--the answer here may help.(注意:确保将方法设置为POST,或者将我的示例更改为GET。)
abithluo2#
在ASP.NET中,你可以通过下面的代码将你的XLS或XLSX文件发送到浏览器。
上面的代码将发送XLS文件到浏览器。如果你改变此行
变成了
然后它会发送XLSX文件到浏览器。2请从下面的链接下载ASP.NET Web应用程序项目来查看上面的代码运行。
请不要使用**Workbook. SaveToStream()**方法获取内存流对象。请检查以下代码,如何获取不同格式的内存流对象,如XLS,XLSX等。
rekjcdws3#
使用.net,因此使用
File
操作结果对Andews版本进行了轻微调整。