最近写的一个项目中,有需要读取数据量很大(有10个sheet,每个sheet有65535行11列的数据)的Excel文件,用了COM和QODBC两种方法读取,速度很慢。
你可能会问,为啥不把数据放在数据库里,那样读取的速度更快?当然,需求要求是可以从数据库或者从Excel中读取数据这两种方式,所以没办法还是要操作Excel。
回归正题,在操作Excel上,QT有两种方式,一是通过COM组件,二是通过QODBC(数据库的方式)。
QODBC读取100MB的Excel文件的时候需要十几分钟,因为太慢,这种方法舍弃。
网上找了通过COM组件读取,使用QAxObject的方法,但是网上找到的都是一个单元格一个单元格的读