在C++下导出excel还是件比较棘手的,虽说目前有很多方式导出,但是都不太方便. 没有像java下强大的poi直接导出二进制格式的excel文件.
1. QT下通过com组件调用excel
pro文件添加: LIBS += -lqaxserver -lqaxcontainer
获取com api文档:
QAxObject* excel = new QAxObject("excel.Application"); // wps 下 ET.Application
QFile outfile("d:/excel_doc.html");
QTextStream out( &outfile );
outfile.open( IO_WriteOnly | IO_Translate );
QString doc = excel->generateDocumentation();
out<<doc;
outfile.close();
缺点: excel导出严重依赖系统程序,QT com api虽说封装的很彻底,但是仍然很晦涩,使用起来不太方便. 仅仅设置单元格背景色这个功能在API找了半天,还是没解决
2. 第三方开源库
C++下几个开源库,大多数都是收费的(libxl等). libxls库不错免费,但是在windows下编译很不方便,libExcel也是采用libx