1.下载xlsx文件
地址:https://github.com/dbzhang800/QtXlsxWriter
2.vs下生成xlsx动态库
在vs下新建qt动态库工程名称为xlsx(vs装有qt插件),复制QtXlsxWriter-master\src\xlsx文件夹下的.h和.cpp文件到新建工程的文件夹下,编译文件可能出现错误。
1)c/c++-->常规-->附件包含目录
C:/Qt/Qt5.12.0/5.12.0/msvc2017_64/include/QtGui/5.12.0/QtGui/
C:/Qt/Qt5.12.0/5.12.0/msvc2017_64/include/QtGui/5.12.0/
C:/Qt/Qt5.12.0/5.12.0/msvc2017_64/include/QtCore/5.12.0/
2)c/c++-->预处理定义
QT_BUILD_XLSX_LIB
3.解决错误生成lib和dll文件
image.png
4.vs下使用动态库
新建测试工程名为test,复制xlsx的文件到新建工程中,添加lib、dll文件
image.png
image.png
image.png
image.png
5.代码
1)读xlsx
QXlsx::Document xlsx("test.xlsx");
QXlsx::CellRange range = xlsx.dimension(); // 有效范围
for (int i = range.firstRow(); i < range.lastRow(); i++) {
for (int j = range.firstColumn(); j < range.lastColumn(); j++) {
qDebug() << xlsx.read(i, j).toString(); // 读i行j列单元格的内容
}
}
2)写xlsx
QXlsx::Document xlsx;
for (int i = 1; i < 100; i++) {
for (int j = 1; j < 10; j++) {
xlsx.write(i, j, "hello world"); // 写i行j列单元格的内容
}
}
xlsx.saveAs("test.xlsx"); // 写完之后一定要保存
6.结果
image.png
image.png