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();
}