最近需要excel文件进行读写,上网看了不少资料。终于可以实现读写了。我看到的是实用OLE方式的读写,网上资料挺多的,但是对大量数据读写,都没有提出较好的方法。
自己摸索了几天,终于可以实现实用指针来读取大量的数据了。
准备工作:http://blog.csdn.net/fullsail/article/details/8449448,这是当初我看的文章,里面涉及ole读写excel的基本知识,里面代码好像是可以直接使用的。本文涉及内容从成功加载sheet开始。
加载完以后,假设加载到了work_sheet(一个CWorksheet对象)。然后可以通过它的get_Range函数设置range(ole方式读和写都要先设置range),比如要读“A1”到“H10”之间的内容,那么先设置range。
CRange range = work_sheet.get_Range(COleVariant("A1"),COleVariant("H10")); 需要注意的是vs2010在MFC下很多时候实用宽字符wchar_t,比如loadsheet(sheetname),这时候你要实用L,也就是是表示这是一个宽字符。
例如char a[] = "A1"; 宽字符时候是这样的 wchar_t a[] = L"A1",不过上面get_Range里面实用的不是宽字符,就是常用的ascii字符,这点要注意。