上篇文章《VC读写Excel MFC读写Excel 考数据》中的考勤数据处理软件当Excel行数多的时候效率特别地,跟踪一下发现:时间主要花费在CSpreadSheet类的AddRow()方法中。通过ODBC来平凡的写Excel数据的时候都会出现这样的问题,数据行数少的时候还可以接受,当行数多(3032行)的时候尽然要1.5小时!! 一个建议的方法是:读取Excel的时候可以用CSpreadSheet类,写数据的时候我们先把它写到.csv文件中(以逗号分隔的字符串文本文件),这就相当于文本文件操作,可以用CStdioFile类来操作(具体见程序的源代码),大家可以用比较工具看看两个版本的代码有何不同,之后再用Excel导入.csv文件的数据就OK了。还是那个电脑还是那个测试集(3032行)用时<3分钟。
下图是改动1
下图是改东2
源代码链接:
http://download.csdn.net/detail/Sailor_Kenny_Xiong/3584263