似乎众所周知,与Excel和.Net互操作非常慢。我知道能够一次性将值数组复制到工作表对象,但根据我的秒表甚至一个命令(在VB.Net内)的类型:
WS.Range(--range string here--).Value = array
......需要0.3秒!由于我的例程将几十个数组写入每个工作表,并且每个工作簿有几个工作表,我也可能会迭代几个工作簿。
如果有办法同时写入不连续的非矩形单元组,那么我可以用一个写命令来完成整个WS。但我认为在保留“中间”单元格的原始值时,有一种方法可以做到这一点。这些工作簿是预先格式化的,因此我必须保留特定的单元格。
我能做些什么来加快这个速度?
答案 0 :(得分:2)
Ben上面的评论几乎把它钉了出来; excel的公式计算是瓶颈。我松了一口气,因为我知道.Net-Excel互操作有一个缓慢的声誉,但不认为它 慢。
答案 1 :(得分:0)
我不确切知道这是否可行,但你会看到一个同样的事情的库:NPOI。它可以读取和写入Excel文档。 使用这个使我的应用程序更快(从xls获取数据到C#app)