C++ 导出excel

在C++中导出Excel存在一些挑战,没有像Java中的poi那样直接。本文介绍了三种方法:1) 使用QT的COM组件,但依赖系统程序且API使用复杂;2) 第三方开源库如libxls,虽然免费但在Windows上的编译和格式支持有限;3) 利用Excel支持的特定HTML格式,通过构建HTML表格来创建Excel,这种方法不依赖额外组件,但模板修改困难。
摘要由CSDN通过智能技术生成

   在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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值