佛山响应式网站设计,wp网站搬家教程,广州分销系统开发,专业建设汇报pptQXlsx 是一个用于处理Excel文件的开源C库。它允许你在你的C应用程序中读取和写入Microsoft Excel文件#xff08;.xlsx格式#xff09;。该库支持多种操作#xff0c;包括创建新的工作簿、读取和写入单元格数据、格式化单元格、以及其他与Excel文件相关的功能。
关于QXlsx的…QXlsx 是一个用于处理Excel文件的开源C库。它允许你在你的C应用程序中读取和写入Microsoft Excel文件.xlsx格式。该库支持多种操作包括创建新的工作簿、读取和写入单元格数据、格式化单元格、以及其他与Excel文件相关的功能。
关于QXlsx的下载、安装、包含到项目中源代码中如何引用请看上一篇《https://blog.csdn.net/zhouhui1982/article/details/136021940》介绍。
本章节将详细介绍如何使用QXlsx创建新的工作簿、写入单元格数据、合并单元格、格式化单元格、设置单元格样式等操作。 引用QXlsx头文件
#include xlsxdocument.h
#include xlsxformat.h
#include xlsxcellrange.h
#include xlsxchart.h
#include xlsxworkbook.h
代码实现
QDateTime save_timeQDateTime::currentDateTime();//时间
QString dir qApp-applicationDirPath();
bool exist;
QDir *folder new QDir();
QString historydir/检测报告;
exist folder-exists(dirhistorydir);//文件夹是否存在
if(!exist)folder-mkdir(dirhistorydir);//不存在创建文件夹
QXlsx::Document xlsx;
//格式化单元格样式
QXlsx::Format formatTitle;
formatTitle.setFontBold(true);// 粗体
formatTitle.setFontColor(QColor(Qt::black));//文字颜色
formatTitle.setFontSize(12);//字体大小
formatTitle.setBorderStyle(QXlsx::Format::BorderThin);//边框样式,细网格线
// formatTitle.setPatternBackgroundColor(Qt::lightGray);//单元格背景色
formatTitle.setFillPattern(QXlsx::Format::PatternSolid);//填充样式
formatTitle.setHorizontalAlignment(QXlsx::Format::AlignHCenter);//文本水平居中
formatTitle.setVerticalAlignment(QXlsx::Format::AlignVCenter);//文本垂直居中
formatTitle.setTextWrap(true);//设置自动换行
xlsx.setColumnWidth(1,25);//第一列,100列宽
xlsx.setColumnWidth(2,30);//第一列,100列宽
xlsx.setColumnWidth(3,20);//第一列,100列宽
xlsx.setColumnWidth(4,15);//第一列,100列宽
//绘制第一行标题
xlsx.mergeCells(QXlsx::CellRange(1,1,1,4), formatTitle);//合并单元格
xlsx.setRowHeight(1,40);//设置第1行高度
formatTitle.setFontSize(22);//字体大小
xlsx.write(1,1,试验报告,formatTitle);
formatTitle.setFontSize(12);//字体大小
//绘制第二行
xlsx.mergeCells(QXlsx::CellRange(2,1,2,4), formatTitle);//合并单元格
xlsx.write(2,1,人员张三 时间save_time.toString(yyyy-MM-dd hh:mm:ss),formatTitle);
xlsx.setRowHeight(2,20);//设置第1行高度
xlsx.mergeCells(QXlsx::CellRange(3,1,3,4), formatTitle);//合并单元格
xlsx.setRowHeight(3,20);//设置高度
xlsx.write(3,1,设备编号:0001 ,formatTitle);
xlsx.write(4,1,试验项目,formatTitle);
xlsx.write(4,2,参考范围,formatTitle);
xlsx.write(4,3,试验数据,formatTitle);
xlsx.write(4,4,是否合格,formatTitle);
xlsx.setRowHeight(4,20);//设置高度
xlsx.write(5,1,发动机,formatTitle);
xlsx.write(5,2,联合起动,formatTitle);
xlsx.write(5,3,各起动一次,formatTitle);
xlsx.write(5,4,合格,formatTitle);
xlsx.write(6,1,发动机转速,formatTitle);
xlsx.write(6,2,800r/min油压应不小于0.15MPa,formatTitle);
xlsx.write(6,3,油压0.15,formatTitle);
xlsx.write(6,4,不合格,formatTitle);
//人员签字单元格样式
QXlsx::Format formatTitle1;
formatTitle1.setFontSize(15);//字体大小
formatTitle1.setBorderStyle(QXlsx::Format::BorderNone);//边框样式
formatTitle1.setHorizontalAlignment(QXlsx::Format::AlignRight);//文本水平
formatTitle1.setVerticalAlignment(QXlsx::Format::AlignBottom);//文本垂直
xlsx.mergeCells(QXlsx::CellRange(26,1,26,4), formatTitle1);//合并单元格
xlsx.setRowHeight(26,30);//设置高度
xlsx.write(26,1,试验人员:_____________ ,formatTitle1);
// 保存文件 文件名格式试验报告yyyy-MM-dd hh-mm-ss.xlsx
QString strpathdirhistorydir/save_time.toString(试验报告yyyy-MM-dd hh-mm-ss).xlsx;
xlsx.saveAs(strpath);
//释放指针变量
xlsx.deleteLater();