第一篇excel操作太依赖com,没有安装office使用QObjcet会有一定概率报错。
接下来了解一下第三方库QXlsx
本文介绍Vs2017 msvc +Qt5.14.0 使用QXlsx 写excel,插入图片文字,设置边框字体之类的操作:
一、环境配置:添加QT依赖模块:项目-Qt Project Settings-Qt Modules中进行修改,未修改编译会失败。
项目右键-属性-连接器-输入附加依赖项中添加QXlsx.lib的路径才能链接成功,否则吧编译会出现链接库链接错误。
将QXlsx目录(全部)添加到项目如下:
QXlsx下载:
github下载路径:https://github.com/QtExcel/QXlsx
直接打开即可下载:https://codeload.github.com/dbzhang800/QtXlsxWriter/zip/master
如果只是读写插入图片请自动忽略这个:
FAQ:不支持不兼容的需要看下:https://github.com/QtExcel/QXlsx/wiki/FAQ
依赖Qtcreateor的使用方法:https://github.com/QtExcel/QXlsx/blob/master/HowToSetProject.md
基本的例子使用传送门:【
- 日历
- 图表
- 图表表
- 数据验证
- 演示
- 文件属性
- 提取数据
- 式
- 超连结
- 图片
- 合并单元格
- 数字格式
- 页边距
- 阅读风格
- 富文本
- 行列
- 风格
- 工作表操作
】
https://github.com/QtExcel/QXlsx/blob/master/Example.md
修改后支持图片位置插入控制,以及修复部分内存泄漏问题:
URL:https://download.csdn.net/download/baidu_25109069/15157296
微软com是一行一行的读取,而QXLsx是一个单元格一个单元格的读取数据,
但是QXlsx 这个读取这个数据的时候如果 中间有空格的那一行数据,它会跳过这个空的单元格直接
读取下一个单元格的数据,这个有点略坑。
大致效果这样子: