[英]Is there is any better way to export bulk data into excel using C# or SQL Server?
我的应用程序中有一个搜索页面,可以基于两个日期搜索数据。 用户还可以将数据导出到excel。 我正在使用普通的asp.net网格视图来显示数据。 在导出到excel中,我正在使用OPENROWSET方法将数据从sqlserver插入excel(这有时会抛出链接服务器null错误,在各种技术站点上都给出了所有建议,但有时仍会发生错误)。
当用户将一年的数据导出到excel中时,即使查询返回数据的速度更快,该页面也至少需要20分钟才能导出,因此使用openrowset写入excel会花费更多的时间。 1年的数据大约是2百万条记录,之前我使用c#代码将数据写入excel,这也花费了更多时间。 一年数据的excel文件大小超过200 mb。
是否有更好的批量数据excel导出方法?
SSIS非常适合导出大量数据。
让SQL Server为您创建一个SSIS程序包,然后SSIS程序包会比编写代码快得多。 为此:
1. In SQL Server Management Studio Right Click on the target database and click on Tasks in the pop-up menu
2) Select Import Data
3) On Data Source select Microsoft Excel and browse to where the excel spreadsheet will be.
继续选择,并确保保存了生成的包。
该程序包可以作为SQL Server作业运行,也可以使用dtexec(SQL Server util)命令从命令行运行。
SSIS包将非常快速地处理2000000行(在我的计算机上,它每秒读取10000行-您的结果会有所不同)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.