繁体   English   中英

有没有更好的方法可以使用C#或SQL Server将批量数据导出到excel?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM