qt6 使用qtxlsx
时间: 2024-12-27 18:23:37 浏览: 246
### 如何在 Qt6 中使用 QTXLSX 库读写 Excel 文件
#### 安装和配置 QTXLSX 库
为了能够在项目中使用 `QtXlsx`,首先需要安装该库。可以通过包管理器或手动下载源码并编译安装。
对于基于 CMake 的新版本 Qt 项目,在项目的 `.pro` 或者 `CMakeLists.txt` 文件中添加相应的依赖项:
```cmake
find_package(Qt6 COMPONENTS Xlsx REQUIRED)
target_link_libraries(myProject PRIVATE Qt6::Xlsx)
```
如果使用的是 qmake 构建系统,则可以在 .pro 文件里加入如下语句[^1]:
```qmake
QT += xlsx
```
#### 创建工作簿对象
创建一个新的 Excel 工作簿实例,这将是后续所有操作的基础:
```cpp
#include "xlsxdocument.h"
using namespace QXlsx;
Document xlsx;
```
这段代码初始化了一个新的空白文档对象 `xlsx`,准备进行进一步的数据填充或其他编辑动作[^3].
#### 向单元格写入数据
向指定位置的单元格内输入字符串、数值等内容十分简便:
```cpp
// 设置 A1 单元格的内容为 "Hello, world!"
xlsx.write(1, 1, QStringLiteral("Hello, world!"));
// 将 B2 设定成数字型态,并赋值为 42
xlsx.write(2, 2, 42);
```
这里通过调用 `write()` 方法指定了行列坐标以及要存储的信息类型(自动识别),从而实现了简单的数据录入过程.
#### 添加样式与格式化
除了基本的文字记录外,还可以应用字体颜色、背景色等视觉效果增强表格美观度:
```cpp
QColor red("#FF0000");
xlsx.format(3, 3).setFontBold(true); // 加粗显示 D3 单元格中的文字
xlsx.format(3, 3).setBackgroundColor(red); // 更改 E3 背景色至红色
```
上述片段展示了如何利用 `format()` 函数获取特定区域内的格式描述符,并对其属性做出调整[^2].
#### 保存文件到磁盘
完成所有的修改之后,记得把最终成果导出成为实际存在的物理文件:
```cpp
if (!xlsx.saveAs(QStringLiteral("output.xlsx"))) {
qDebug() << "Failed to save the file.";
}
```
此部分逻辑判断是否成功完成了文件系统的写入请求;如果不满足条件则输出错误提示信息给开发者查看.
#### 打开现有 Excel 文件
当面对已经存在且需继续加工处理的情况时,可采用下面的方式加载已有资源:
```cpp
bool isOpened = m_excelopera.OpenFile("test1.xlsx");
qDebug()<<isOpeneds;
```
此处尝试打开名为 `"test1.xlsx"` 的本地文件,并打印其状态以便确认操作结果.
阅读全文
相关推荐















