我有2个Excel文件,每个文件有10个sheet页,每个sheet有65536行 11列的数据。
我想将这130W行的数据读取到内存中,分别使用了COM和QODBC两种方法来读取数据,用时都太久了,QODBC的方式用了20分钟左右,COM不知道用了多少,等了半小时还没读取完我就放弃了。是我代码写错了?还是本来就慢?大家还有没有别的方法能快速读取的?
QODBC的方式:
COM的方式:
------解决思路----------------------
用range 一次读一个区域,数量级的快,我试过
------解决思路----------------------
你已经获取了 UsedRange,然后直接取,该range 的 value,回得到一个 QVairant. 然后取里面的值.
------解决思路----------------------
self._range = self._sheet.querySubObject('UsedRange')
self._excel_data = self._range.dynamicCall('value')
celv = self._excel_data[2][2]
以上是 python 代码,用 C++ 也基本一致