QXlsx Qt操作excel(2)

QXlsx 是一个用于处理Excel文件的开源C++库。它允许你在你的C++应用程序中读取和写入Microsoft Excel文件(.xlsx格式)。该库支持多种操作,包括创建新的工作簿、读取和写入单元格数据、格式化单元格、以及其他与Excel文件相关的功能。

关于QXlsx的下载、安装、包含到项目中,源代码中如何使用,请看

QXlsx Qt操作excel-CSDN博客

QXlsx Qt操作excel(1)-CSDN博客

 

本章节将详细介绍如何使用QXlsx给excel插入图片、读取单元格中和图片保存到本地。

 

代码如下:

 

void MainWindow::on_pushButton_clicked()

{

QXlsx::Document xlsx;

for (int i = 0; i < 10; ++i) {

//创建一个 40*30大小的 QImage 对象,填充随机颜色。

QImage image(40, 30, QImage::Format_RGB32);

image.fill(uint(qrand() % 16581375));

//将图像插入到 Excel 文件中,并保存 Excel 文件。每隔10行,第5列插入图片

int index = xlsx.insertImage(10 * i, 5, image);

//读取单元格中图片,保存到本地,图片名image1.png image2.png ... image10.png

QImage img;

if (xlsx.getImage(index, img)) {

QString filename;

filename = QString("image %1.png").arg(index);

img.save(filename);

qDebug()

}

}

//保存excel文件到本地

xlsx.saveAs("image1.xlsx");

xlsx.deleteLater();

}

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
1.首先需要安装QXlsx库,可以在Qt的帮助文档中找到相关的安装方法。 2.在Qt中创建一个TableWidget控件,并添加数据到其中。 3.导出数据到excel文件中,可以按照以下步骤进行: (1)包含QXlsx库的头文件: #include <QXlsx/QtXlsx> (2)创建一个QXlsx::Document对象: QXlsx::Document xlsx; (3)使用循环将TableWidget中的数据添加到QXlsx::Document对象中: for(int i=0;i<ui->tableWidget->rowCount();i++) { for(int j=0;j<ui->tableWidget->columnCount();j++) { xlsx.write(i+1,j+1,ui->tableWidget->item(i,j)->text()); } } (4)设置保存的文件路径和名称,并将数据保存到excel文件中: xlsx.saveAs("D:/test.xlsx"); 完整的代码如下: #include "mainwindow.h" #include "ui_mainwindow.h" #include <QXlsx/QtXlsx> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); //添加数据到TableWidget ui->tableWidget->setRowCount(3); ui->tableWidget->setColumnCount(3); ui->tableWidget->setItem(0,0,new QTableWidgetItem("1")); ui->tableWidget->setItem(0,1,new QTableWidgetItem("2")); ui->tableWidget->setItem(0,2,new QTableWidgetItem("3")); ui->tableWidget->setItem(1,0,new QTableWidgetItem("4")); ui->tableWidget->setItem(1,1,new QTableWidgetItem("5")); ui->tableWidget->setItem(1,2,new QTableWidgetItem("6")); ui->tableWidget->setItem(2,0,new QTableWidgetItem("7")); ui->tableWidget->setItem(2,1,new QTableWidgetItem("8")); ui->tableWidget->setItem(2,2,new QTableWidgetItem("9")); } MainWindow::~MainWindow() { delete ui; } void MainWindow::on_pushButton_clicked() { //导出数据到excel文件 QXlsx::Document xlsx; for(int i=0;i<ui->tableWidget->rowCount();i++) { for(int j=0;j<ui->tableWidget->columnCount();j++) { xlsx.write(i+1,j+1,ui->tableWidget->item(i,j)->text()); } } xlsx.saveAs("D:/test.xlsx"); } 编译运行程序,点击“导出数据”按钮,即可将TableWidget中的数据导出到excel文件中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

周不易

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值