Qt 之 QAxObject 读写 excel
如何配置 QtXlsx 的两种方法
【Qt|QtXlsx 读写 excel】要使用QtXlsx
,需要引入这个模块,不然是用不了的,引入方法,在工程 pro 文件中加入 QT += xlsx
即可
#include
#include int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
//如果需要修改已存在的文件,必须在定义对象的时候指定文件名
QXlsx::Document xlsx("book1.xlsx");
//单元格样式
QXlsx::Format format1;
//红色文字
format1.setFontColor(QColor(Qt::green));
//背景色
format1.setPatternBackgroundColor(QColor(Qt::red));
//字体大小
format1.setFontSize(15);
//水平居中
format1.setHorizontalAlignment(QXlsx::Format::AlignHCenter);
//边框样式
format1.setBorderStyle(QXlsx::Format::BorderDashDotDot);
//写入文字,使用 format1 定义的样式
xlsx.write("A1", "Hello", format1);
xlsx.write("B1", "Qt", format1);
//设置另一种样式
QXlsx::Format format2;
//加粗
format2.setFontBold(true);
//双下划线
format2.setFontUnderline(QXlsx::Format::FontUnderlineDouble);
//填充
format2.setFillPattern(QXlsx::Format::PatternLightUp);
//使用 format2 样式写入文字
xlsx.write("D5", "=44+33", format2);
xlsx.write("B3", true, format2);
//选择表格 Sheet2,如果不存在,则添加
if(!xlsx.selectSheet("Sheet2")){
xlsx.addSheet("Sheet2");
}//写入数据,表格行列都是从1 开始,0,0分别是行首列首
for (int i=1;
i<20;
++i) {
xlsx.write(i, 1, i);
//A1:A19
xlsx.write(i, 2, i*i);
//B1:B19
xlsx.write(i, 3, i*i*i);
//C1:C19
}
//在 E:5 插入一个 300*300 的图表
QXlsx::Chart *pieChart = xlsx.insertChart(5, 5, QSize(300, 300));
//设置图标类型
pieChart->setChartType(QXlsx::Chart::CT_Line);
//使用刚才添加的数据作为数据源
pieChart->addSeries(QXlsx::CellRange("A1:A19"));
pieChart->addSeries(QXlsx::CellRange("B10:B19"));
pieChart->addSeries(QXlsx::CellRange("C10:C19"));
//新建一个大小为 40*100 的 image
QImage image(40, 100, QImage::Format_RGB32);
//填充红色
image.fill(Qt::red);
//插入图片
xlsx.insertImage(25, 5, image);
//打印最后一行,需要往后面追加数据的这个非常有用
qDebug()<< "row:"<< xlsx.dimension().lastRow();
//保存
xlsx.save();
return 0;
}
推荐阅读
- qt|qt 飞扬青云_Qt编写安防视频监控系统(界面很漂亮)
- Qt入门|Qt QFtp客户端(上传、下载文件)
- qt|Qt_共享内存(QSharedMemory)未完成
- C++\QT|qt共享内存
- QT 组件化开发 自动生成基础组件
- pyqt5|pyqt5界面开发-制作程序集合桌面-完结篇
- PyQt5|【PyQt5】一个小软件的制作过程02 | 页面跳转
- Qt入门|Qt QScrollArea
- Qt入门|Qt QProgressBar详解