问题描述
- C#中如何大幅提高写excel文件的速度?
-
输入文件:input.txt包含以【;】号或者【t】制表符分隔的多行(实际在100万行以上)数据,每行数据个数不定。
a;b;c
1;2;
1;2;3;4;5输出文件;output.xlsx
a b c
1 21 2 3 4 5
问题:写了个小程序处理2000行在10s以内,百万行速度就太慢,无法忍受了。求教一些能显著提高写Excel速度的方法。网上查的先变成二维数组之类的方法,效果不大。百万行在20min以内就好。
解决方案
你完全没有任何性能调优的概念,我们从最简单的说起
首先,测试你的数据,找到运行时间和数据量的关系(算法复杂度)。
先告诉我你的程序处理2000行 5000 行 1万行 2万行 5万行 10万行的时间。
解决方案二:
不知道你是不是读一行写一行的,如果是的话,可以改成把数据都读出来,在一起写进去
解决方案三:
写入数据可参考(并行处理)[https://msdn.microsoft.com/zh-cn/library/dd537609(v=vs.110).aspx]
时间: 2024-11-03 07:20:21