我有一个用ASP.NET 4.0
编写的内部网应用程序,可以生成Excel报告。某些报告最多可能需要2分钟才能创建。
这里的问题是用户在等待报告完成时无法继续工作。
我想做的是:
要清楚,我知道如何从.NET代码生成Excel文件。我不知道该怎么做就是在后台创建它。
我该怎么做?
答案 0 :(得分:0)
我认为您的方案的最佳解决方案是使用AJAX调用。
在ASP.NET上创建WEBAPI方法以生成Excel文件并通过电子邮件发送给用户
[HttpGet]
public void CreateExcelFile( )
{
1.create report
2.save to disk
3.call private method to attach the file to email message and send to recipient
}
在您的应用程序网页中调用该方法
$.ajax({
method: "GET",
url: "./api/yourcontroller/CreateExcelFile",
})
.done(function (msg) {
//do something ???
}).error(function (xhr, ajaxOptions, thrownError) {
//catch error if any
});
本质上AJAX是异步的。这样您的用户就可以继续使用您的应用程序了。如果您正在寻找一个好的Excel创建库,我建议EPPlus上提供Nuget。它是免费且非常强大的产品