使用.NET 3.5框架从SQL数据库中将100万列数据导出到SQL数据库中的Excel中



Excel报告应支持100万行和800列。该应用程序必须以两种模式生成Excel1.在线,必须生成网格视图上的实体,必须生成Excel报告。2. offline,用户可以选择多个实体,并且在UI上使用按钮可以触发其生成Excel并可以通过邮件接收Excel。

当前应用程序支持上述功能,但是导出非常慢。应用程序,数据库在同一服务器上。考虑到这一点,我们必须设计一个框架,即使在应用程序上的数据范围也将增加10倍,并且性能问题最少。

SSIS是否会达到目的,或者如果有其他建议?

100万个记录肯定会花费一些时间,在并发环境中,这不好。最好具有面向服务的体系结构,或者只是异步执行您的代码以防止这种悬挂。导出的处理(例如在服务中)应在背景线程中运行以处理负载。

完成生成并按照您提到的发送邮件。或保存在应用程序临时DIR中并使用SignalR(或仅使用Ajax汇总服务器)以检查服务中的过程是否已完成。如果是,请重定向客户下载文件。

您不要说UI是什么,但是由于您提到"在线",所以我认为它是一个浏览器。因此,最快的方法是查询SQL Server,提取数据集,然后使用已记录的Opentocument XML生成XLSX文件,作为由MVC Controller/Web API返回的响应流的一部分。这会生成数据的最少处理,并保留Web服务器上的文本处理。

最新更新