恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
QtXlsx编译与使用
首页
资讯中心
/
QtXlsx编译与使用
QtXlsx编译与使用
发布时间:2026/10/22 2:14:54
QtXlsx 编译与使用本文基于工程目录内的实际资料整理源码包 qtxlsxwriter-master并结合官方文档说明编写。1. 什么是 QtXlsxQtXlsx 是一个基于 Qt 的 Excel.xlsx读写库不依赖 Microsoft Excel可在 Qt 5 支持的任何平台使用。版本0.3.0。它支持三大能力新建.xlsx 文件从零生成读取已有 .xlsx 文件的数据编辑已有 .xlsx 文件2. 下载2.1 下载来源项目说明源码包qtxlsxwriter-master.zip即工程目录内已存放的压缩包对应 GitHub 仓库的 master 分支在线文档http://qtxlsx.debao.me许可证见源码包内LICENSEMIT 风格的开源许可2.2 源码包内容解压qtxlsxwriter-master.zip后得到qtxlsxwriter-master/ ├── src/xlsx/ # 核心库源码含 qtxlsx.pri ├── examples/xlsx/ # 示例工程hello、demo、chart 等 20 个 ├── tests/ # 单元测试 ├── qtxlsx.pro # 顶层工程文件 ├── .qmake.conf # 模块版本定义MODULE_VERSION 0.3.0 └── README.md # 官方使用说明3. 编译构建3.1 前置依赖Qt 5需含qmake与对应编译器工具链。Perl—— 仅在将 QtXlsx 编译为 Qt 的 addon 模块时需要。工程目录内已附带Perl/ActivePerl_5.16.2.3010812913.msi安装包Perl/windows下perl的安装和脚本的运行-百度经验.pdf安装教程Linux 下若 Qt 通过 apt 安装需额外安装开发包qtbase5-private-dev。3.2 方式一编译为 Qt5 的 addon 模块可QT xlsx引用在源码顶层目录执行Windows 上进入对应 Qt 的qmake命令行环境qmake make # Windows/MSVC 下可执行 nmake 或 jom make install # 将库、头文件、mkspecs 安装到系统/Qt 目录辅助命令make html_docs # 生成库文档 make check # 运行单元测试Windows 注意需要先进入 Qt 提供的命令行环境如 “Qt 5.9.3 (MSVC2015 64bit)” 确保qmake、nmake可用。3.3 方式二源码直接集成进工程qmake 工程推荐把源码放到工程内例如3rdparty/qtxlsx/然后在工程.pro中include(3rdparty/qtxlsx/src/xlsx/qtxlsx.pri)或者把src/xlsx整个目录复制到你的工程源码路径下直接include(qtxlsx.pri)若你的工程不用 qmake需要手动定义宏XLSX_NO_LIB。3.4 本机已编译好的库直接拿来用工程目录内已存在两份用Qt 5.9.3 MSVC2015编译好的Debug版本32 位与 64 位各一份目录架构build-qtxlsx-Desktop_Qt_5_9_3_MSVC2015_32bit-Debug32 位build-qtxlsx-Desktop_Qt_5_9_3_MSVC2015_64bit-Debug64 位每个构建目录内的产物结构build-qtxlsx-...-Debug/ ├── bin/ # Qt5Xlsx.dllRelease、Qt5Xlsxd.dllDebug ├── include/QtXlsx/ # 头文件 版本 0.3.0 ├── lib/ # Qt5Xlsx.lib / Qt5Xlsxd.lib导入库、.exp、.pdb、.prl、cmake 配置 ├── mkspecs/modules/ # qmake 模块配置 qt_lib_xlsx.pri ├── examples/xlsx/ # 各示例的编译中间产物 └── tests/⚠️ 注意mkspecs/modules/qt_lib_xlsx.pri中记录的原始构建路径为D:/CurPM/QtXlsx/...。若直接以 addon 方式使用这套库需将对应路径修改为实际库所在位置或将库安装到你的 Qt 目录后重新引用。4. 使用4.1 方式一作为 Qt 模块使用已make install工程.pro中QT xlsx代码中使用统一头文件和命名空间#include QtXlsx int main() { QXlsx::Document xlsx; xlsx.write(A1, Hello Qt!); xlsx.saveAs(Test.xlsx); return 0; }4.2 方式二源码直接集成include qtxlsx.pri工程.proinclude(qtxlsx.pri)代码中直接包含xlsxdocument.h#include xlsxdocument.h int main() { QXlsx::Document xlsx; xlsx.write(A1, Hello Qt!); xlsx.saveAs(Test.xlsx); return 0; }4.3 方式三直接链接已编译好的库不安装在.pro中手动指定# 以 64 位 Debug 为例路径按实际调整 INCLUDEPATH $$PWD/../QtXlsx/build-qtxlsx-Desktop_Qt_5_9_3_MSVC2015_64bit-Debug/include/QtXlsx LIBS -L$$PWD/../QtXlsx/build-qtxlsx-Desktop_Qt_5_9_3_MSVC2015_64bit-Debug/lib -lQt5XlsxdDebug版链接Qt5Xlsxd.lib运行时需Qt5Xlsxd.dllRelease版链接Qt5Xlsx.lib运行时需Qt5Xlsx.dll运行时需把对应bin/加入 PATH或把 dll 拷贝到可执行文件旁同时需要匹配的 Qt 5.9.3 MSVC2015 运行库。5. 快速上手示例来自 hello 示例examples/xlsx/hello/main.cpp展示了写入多种数据类型#include QtCore #include xlsxdocument.h int main() { QXlsx::Document xlsx; xlsx.write(A1, Hello Qt!); // 字符串 xlsx.write(A2, 12345); // 整数 xlsx.write(A3, 4433); // 公式 xlsx.write(A4, true); // 布尔 xlsx.write(A5, http://qt-project.org); // 链接文本 xlsx.write(A6, QDate(2013, 12, 27)); // 日期 xlsx.write(A7, QTime(6, 30)); // 时间 xlsx.save(); // 保存为当前工作目录 xlsx 文件 return 0; }6. 示例工程一览源码examples/xlsx/下共有20 个示例可作为功能参考示例演示功能hello最基础写入demo综合演示写数据 / 样式 / 图表calendar日历样式的表格生成chart/chartsheet图表与图表工作表conditionalformatting条件格式datavalidation数据有效性definename定义名称documentproperty文档属性extractdata读取Excel 数据formulas公式hyperlinks超链接image插入图片mergecells合并单元格numberformat数字格式richtext富文本rowcolumn行列操作style单元格样式worksheetoperations工作表操作xlsxwidget基于 Widget 的表格控件构建目录build-qtxlsx-.../examples/xlsx/name/中保留了各示例的编译中间产物.obj/.moc/及 Makefile可直接用对应 Qt 环境重新生成可执行文件。7. 常见问题与提示依赖 Perl仅 addon 方式编译需要源码直接集成方式二不需要 Perl。Debug / Release 区分导入库和 dll 均带d后缀表示 Debug 版切勿混用。路径配置使用已编译库时务必把include与lib路径指到本机实际目录qt_lib_xlsx.pri里是构建机路径D:/CurPM/...需要改写。运行时生成的程序除 Qt 本身 dll 外还需把Qt5Xlsx.dll/Qt5Xlsxd.dll一并带上。不用 qmake 时手动定义宏XLSX_NO_LIB。跨平台库本身不依赖 Excel可跨 Qt 5 支持平台使用。