日期:2014-05-18  浏览次数:20851 次

CSV文件出力相关问题(数据量较大场合)
C#中CSV出力不管是用DataSet或者DataReader,都是用的循环的方式,构造CSV文件的编码字符串。
当数据量在超过10000条,或者更高的时候,循环的效率会逐渐变慢,以至于几万条的数据出力需要好几分钟的时间,甚至更多。
在此请教,有没有不通过循环的方法,将DataTable或者DataReader导出为CSV文件的方法?或者是通过DLL,或者插件的方法?

------解决方案--------------------
用一个合适大小的StringBuilder作为缓冲区(内部缓冲区大小为4096字节)
每次缓冲区满写文件