在 Qt 中,可以使用第三方库来处理 Excel 文件,常用的库包括:
QXlsx:一个基于 Qt 的 Excel 文件处理库,支持读写 Excel 文件。
LibXL:一个商业的 Excel 文件处理库,支持多种编程语言,包括 C++。
OpenXLSX:一个开源的 Excel 文件处理库,支持读写 Excel 文件,支持多种操作系统。
下面以 QXlsx 为例,介绍在 Qt 中读写 Excel 文件的方法:
1. 读取 Excel 文件
1 #include <QCoreApplication>
2 #include <QtCore>
3 #include "xlsxdocument.h"
4
5 int main(int argc, char *argv[])
6 {
7 QCoreApplication a(argc, argv);
8
9 // 打开 Excel 文件
10 QXlsx::Document xlsx("example.xlsx");
11
12 // 获取工作表对象
13 QXlsx::Worksheet *worksheet = xlsx.currentWorksheet();
14
15 // 获取单元格内容
16 QVariant value = worksheet->read("A1");
17 qDebug() << value.toString();
18
19 // 设置单元格内容
20 worksheet->write("A1", "Hello World");
21
22 // 保存文件
23 xlsx.save();
24
25 return a.exec();
26 }
在上面的代码中,首先创建了一个 QXlsx::Document 对象,并打开了名为 example.xlsx 的 Excel 文件。然后获取了当前工作表对象,并使用 read 方法获取了 A1 单元格的值,并使用 write 方法设置了 A1 单元格的值。最后调用 save 方法保存文件。
2. 写入 Excel 文件
1 #include <QCoreApplication>
2 #include <QtCore>
3 #include "xlsxdocument.h"
4
5 int main(int argc, char *argv[])
6 {
7 QCoreApplication a(argc, argv);
8
9 // 创建 Excel 文件
10 QXlsx::Document xlsx;
11
12 // 创建工作表对象
13 QXlsx::Worksheet *worksheet = xlsx.createWorksheet("Sheet1");
14
15 // 设置单元格内容
16 worksheet->write("A1", "Hello World");
17
18 // 保存文件
19 xlsx.save("example.xlsx");
20
21 return a.exec();
22 }
在上面的代码中,首先创建了一个 QXlsx::Document 对象,并创建了一个名为 Sheet1 的工作表对象。然后使用 write 方法设置了 A1 单元格的值。最后调用 save 方法保存文件。
QXlsx是开源第三方库
Github下载:https://github.com/dbzhang800/QtXlsxWriter
官方文档:http://qtxlsx.debao.me/