6

我目前正在编写代码来组合两个包含不同版本数据的工作表。因此,我首先想通过键列对两者进行排序,组合它们,然后在输出工作表中标记版本之间的更改。

由于数据已经达到了 10000 行,并且有一天可能会超过 excel 的每工作表行数限制,我希望这些计算在工作表之外运行。它也应该表现更好。

目前我正在考虑对第一个和第二个数据进行快速排序,然后比较每个键/行的数据集。使用比较结果随后相应地格式化单元格。

问题

我只是想知道,我是否应该使用:

List OR Array OR Collection OR Dictionary of
Lists OR Arrays OR Collections OR Dictionaries

到目前为止,我还无法确定这 16 种可能性之间的可编码性和性能差异。目前我正在实施 Array OF Arrays 方法,不断想知道这是否有意义?

在此先感谢,感谢您的意见和智慧!

4

1 回答 1

1

前段时间,我对客户端的宏有同样的问题。除了真正大量的行(超过 50000 并且还在增长)之外,当采用“标准方法”时,它还存在从某些行数(大约 5000)非常慢的问题,即每个计算的输入行是从同一个工作表中读取的(上面的几行);这种读写过程使这个过程变得越来越慢(显然,Excel 从第 1 行开始,行越低,到达那里所需的时间越长)。我依靠两种不同的解决方案改善了这种情况:首先,设置每个工作表的最大行数,一旦达到,就会创建一个新的工作表并在那里继续读/写(从第一行开始)。另一个变化是将 Excel 中的读/写移动到从临时 .txt 文件中读取并写入 Excel(所有行在开始时都被读取以填充文件)。这两个修改大大提高了速度(从半小时到几分钟)。关于您的问题,我不会过分依赖带有宏的数组(尽管我不确定这 10000 行中的每一行包含多少信息);但我想这是个人决定。我不太喜欢集合,因为效率不如数组;和字典一样。t 过分依赖带有宏的数组(尽管我不确定这 10000 行中的每一行包含多少信息);但我想这是个人决定。我不太喜欢集合,因为效率不如数组;和字典一样。t 过分依赖带有宏的数组(尽管我不确定这 10000 行中的每一行包含多少信息);但我想这是个人决定。我不太喜欢集合,因为效率不如数组;和字典一样。

我希望这个“简短”的评论会有所帮助。

于 2013-06-14T18:08:28.957 回答