Excel数据量太大,用VBA运算依然会耗时太久,运行很慢,该怎么办?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Excel数据量太大,用VBA运算依然会耗时太久,运行很慢,该怎么办?相关的知识,希望对你有一定的参考价值。
Excel中数据量有一百万+条需要计算处理,自己学习VBA后编写的公式计算,但是计算公式也非常多,可能自己学习的不精通导致编写的公式太复杂了,导致每次运行VBA程序后Excel白屏,但是从任务管理器中查看电脑并没有卡死崩溃,不过耗时几个小时后依然没有运算完成。
所以想请教,数据量这么大的Excel表格用VBA运算是否还合适呢?有没有其他的工具呢?
百度查看说用数据库处理超大量数据更合适一些,那么用Access或者SQL数据库能否完成复杂公式运算的操作呢?
这样让更多的操作在内存中进行,而不是在硬盘上进行。这中间的差异是天壤之别。我原来写的一个提取内容的sub,提取一个填写一个,总用时2分40秒。
然后我把要提取的东西全都赋值给数组,完事以后一次填写一行,或者完事后一下填写完,
结果只用了7秒。 参考技术A 把数据一次性或者分批放到数组进行运算,速度快很多。不要边读取单元格内容(数据)边进行运算,这样会很慢的。本回答被提问者采纳 参考技术B 如果擅长c#的话,可以使用多线程技术尝试一下 参考技术C 有一百万+数据确实比较多了,不过代码也可能优化,不过要几个小时也太夸张了!如果不复杂可以发来看看,如果太复杂,我也不想看了!哈哈追问
非常感谢,代码就不发了,确实非常非常复杂,因为运算的内容太多了!我自己看着都头疼。我在想,除了Excel是否可以用其它工具来计算处理呢,比如数据库?对数据库不了解所以也不懂数据库的功能如何。总之还是非常感谢你!
wpf datagrid 分页查询,要求不是一次性查出数据,数据量太大查询太久。
参考技术A 这个是因为你的DataGridCheckBoxColumn没有绑定数据的原因WPF里面的DataGrid有Virtualization提升绘制性能,会导致控件的复用你这儿的Info结构里面加个IsChecked属性,做个数据绑定就行了追问我没有加DataGridCheckBoxColumn的列,我现在做的是datagrid列表分页查询显示而已,其实就是想知道sql语句怎么写dt = Query(StrWhere, PageSize, ucDataPage.pIndex);PageSize是显示数据条数,ucDataPage.pIndex)是页码
以上是关于Excel数据量太大,用VBA运算依然会耗时太久,运行很慢,该怎么办?的主要内容,如果未能解决你的问题,请参考以下文章
在Laravel中导入Excel文件,数据量太大,服务器经常500怎么办
在Laravel中导入Excel文件,数据量太大,服务器经常500怎么办
java大概1000W数据导出成excel有啥好的建议。(最好是插件,POI、JXL、FastExcel已试过,数据量太大,不