qt QXlsx操作 excel 单元格

本文介绍了如何在QXlsx库中设置单元格宽度,使用正确的单位,如英寸而非像素,并演示了如何调整单元格坐标、格式化文本(包括对齐、字体、颜色)以及恢复格式以便后续使用。
摘要由CSDN通过智能技术生成

1.单元格设置宽度

m_pxlsx->setColumnWidth(5, 10);//5为列,10为列的宽度,excel表格中默认单元格宽度为9.36英寸

注意:单元格列宽的单位是英寸,默认的单元格列宽为9.36英寸。

注意:单元格列宽单位不是像素。

             我之前设计列宽为200是错误的,我按照像素尺寸设置的。

2.单元格坐标是从(1,1)开始的

设置格式:

QXlsx::Format format;
format.setHorizontalAlignment(QXlsx::Format::AlignHCenter);
format.setVerticalAlignment(QXlsx::Format::AlignVCenter);
format.setFontName("宋体");
format.setFontSize(10);
format.setTextWarp(true);//自动换行

在A1单元格写入: 你好

m_pxlsx->write(1, 1, QString("你好"), format);

或者

m_pxlsx->write("A1", QString("你好"), format);

3.单元格字体设置颜色


format.setFontColor(QColor(Qt::red));//设置单元格字体为红色
m_pxlsx->write(1, 7, QString::number(m_tddataList[i].dLachu), format);//A7
format.setFontColor(QColor(Qt::black));//写完后再恢复设置,后面要继续使用format的

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Linux上,可以使用Qt提供的QAxObject类来操作Microsoft Excel文件。以下是一个示例代码,演示如何读写Excel单元格: ```cpp #include <QCoreApplication> #include <QAxObject> #include <QDebug> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); QAxObject excel("Excel.Application"); excel.setProperty("Visible", false); // 隐藏Excel窗口 QAxObject *workbooks = excel.querySubObject("Workbooks"); if (!workbooks) { qCritical() << "Failed to get Workbooks object."; return -1; } QAxObject *workbook = workbooks->querySubObject("Open(const QString&)", "path/to/your/excel/file.xlsx"); if (!workbook) { qCritical() << "Failed to open Excel file."; return -1; } QAxObject *worksheet = workbook->querySubObject("Worksheets(int)", 1); // 打开第一个工作表 if (!worksheet) { qCritical() << "Failed to get Worksheet object."; return -1; } // 读取单元格数据 QAxObject *cell = worksheet->querySubObject("Cells(int,int)", 1, 1); // 获取第1行第1列的单元格 if (cell) { QVariant cellValue = cell->property("Value"); qDebug() << "Cell value:" << cellValue.toString(); delete cell; } // 写入单元格数据 QAxObject *newCell = worksheet->querySubObject("Cells(int,int)", 1, 2); // 获取第1行第2列的单元格 if (newCell) { newCell->setProperty("Value", "Hello Excel!"); delete newCell; } workbook->dynamicCall("Save()"); workbook->dynamicCall("Close()"); excel.dynamicCall("Quit()"); return a.exec(); } ``` 这里使用了QAxObject类来打开Excel文件,获取工作表对象和单元格对象,并读取/写入单元格数据。请注意,您需要安装Microsoft Excel并确保其在系统路径中可用。 另外,如果您的Excel文件格式是XLSX,您还可以使用Qt提供的QXlsx库来读写Excel文件。QXlsx是一个基于Qt的开源库,支持XLSX文件的读写操作

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值