我想从Excel中提取大量数据,对其进行操作并将其放回原处.我发现最好的方法是将Excel范围中的数据提取到一个大型数组中,更改数组中的内容并将其写回Excel范围. 我现在正在使用VB.NET
我现在正在使用VB.NET 2008/2010重写应用程序,并希望利用任何新功能.
目前我必须循环遍历数组的内容以查找具有特定值的元素;对大型阵列进行排序也很麻烦.我希望使用新功能,包括LINQ来操作我的数组中的数据.
有没有人对在大型数组中过滤/查询,排序等数据的最简单方法有任何建议.对阵列大小的合理限制是什么?
〜非常感谢
如果您想要任何性能,您必须坚持将数据提取到数组中,操作数组,然后将数据写回到范围内.性能优势显着.我测试了它,速度提高了数百倍.我使用自定义函数执行所有数组操作.我不相信LINQ可以在速度上与我的自定义函数进行比较. LINQ带来的是灵活性,可读性和可维护性.如果您考虑使用LINQ原则设计自定义数组操作函数,那么您应该能够在不放弃性能的情况下利用LINQ.例如,我有一个中位数数组函数.我将它转换为Median扩展函数,接受一系列双精度函数,然后在数组上使用LINQ来调用Median函数.
<Extension()> Public Function Median(ByVal source As IEnumerable(Of Double)) As Double
如在;
Dim m = Aggregate v In arrValues2D Into Median(CDbl(v))