1

众所周知,与 Excel 和 .Net 的互操作非常慢。我知道能够一次性将一组值复制到工作表对象,但根据我的秒表,甚至有一个类型的命令(在 VB.Net 内):

 WS.Range(--range string here--).Value = array

...耗时超过 0.3 秒!这加起来是因为我的例程向每个工作表写入了几十个数组,并且每个工作簿有几个工作表,我可能还会遍历几个工作簿。

如果有办法一次写入不连续的、非矩形的单元组,那么我可以用一个写入命令完成整个 WS。但我认为没有办法在保留“中间”单元格的原始值的同时做到这一点。这些工作簿是预先格式化的,所以我必须保留特定的单元格。

我能做些什么来加快速度吗?

4

2 回答 2

2

本在上面的评论几乎钉住了它;excel的公式计算是瓶颈。我松了一口气,因为我知道 .Net-Excel 互操作以缓慢着称,但没想到这么慢。

于 2012-05-11T13:26:29.397 回答
0

我不知道这是否可能,但您查看了一个执行相同操作的库:NPOI。它可以读取和写入 Excel 文档。使用它使我的应用程序更快(将数据从 xls 获取到 C# 应用程序)

于 2012-05-11T13:31:19.487 回答