Xlsx库的使用
pro文件中添加
QT += xlsx
头文件
#
QXlsx::Document xlsx; //创建xlsx对象 xlsx.write("A1", "Hello Qt!"); //在指定格写入文本 xlsx.saveAs("Test.xlsx"); //保存为文件 xlsx.saveAs("d:/Test.xlsx");
QXlsx::Document xlsx("lm.xlsx"); //打开一个xlsx文件,指定excel文件存在就打开,不存在创建一个新的对象 QXlsx::Format format1;// 创建单元格样式对象 format1.setFontColor(QColor(Qt::red)); //文字为红色 format1.setPatternBackgroundColor(QColor(0,0,255)); //背景颜色 format1.setFontSize(15); // 设置字体大小 format1.setHorizontalAlignment(QXlsx::Format::AlignHCenter); //横向居中 format1.setBorderStyle(QXlsx::Format::BorderDashDotDot); //边框样式 xlsx.write("A1", "Hello Qt!", format1);//写入文字,按照刚才设置的样式 xlsx.write(2, 1, 12345, format1);//写入文字,按照刚才设置的样式 //第2行第1列 QXlsx::Format format2; format2.setFontBold(true); //设置加粗 format2.setFontUnderline(QXlsx::Format::FontUnderlineDouble); //下双划线 format2.setFillPattern(QXlsx::Format::PatternLightUp); //填充方式 xlsx.write("A4", "=44+33", format2); //写入公式 xlsx.write("C4", true, format2); //写入TRUE xlsx.saveAs("d:/lm.xlsx");
QXlsx::Document xlsx("D:/lm.xlsx"); bool b=xlsx.selectSheet("8.2"); //在当前打开的xlsx文件中,找一个名字为ziv的sheet //没找到 返回:false 找到返回:true //如果找到就作为当前活动工作表 xlsx.addSheet("8.4");//添加一个名为8.4的sheet,已经存在就无效 b=xlsx.selectSheet("8.4"); for (int i=10; i<20; ++i) {/*写入一串数字*/ xlsx.write(i, 1, i*i*i); //A10:A19 xlsx.write(i, 2, i*i); //B10:B19 xlsx.write(i, 3, i*i-1); //C10:C19 } QXlsx::Chart *pieChart = xlsx.insertChart(3, 5, QSize(300, 300));//在3行5列的位置插入一个图标--准备绘图 //注意:3行5列是从0开始的 pieChart->setChartType(QXlsx::Chart::CT_Pie); //设置图形类型 /*QXlsx::Chart::CT_Pie 饼形图 QXlsx::Chart::CT_Bar 条形图 */ pieChart->addSeries(QXlsx::CellRange("A10:A19"));//给图形添加数据 QXlsx::Chart *barChart = xlsx.insertChart(3, 13, QSize(300, 300)); barChart->setChartType(QXlsx::Chart::CT_Bar); barChart->addSeries(QXlsx::CellRange("A10:C19")); xlsx.saveAs("d:/lm.xlsx"); qDebug()<<b;
QXlsx::Document xlsx("D:/lm.xlsx"); bool b=xlsx.selectSheet("8.2"); QImage myImage = QImage("d:/tu.jpg"); xlsx.insertImage(1, 1, myImage); // 在指定单元格插入图片 //从0开始 xlsx.saveAs("d:/lm.xlsx");
QXlsx::Document xlsx("D:/lm.xlsx"); bool b=xlsx.selectSheet("8.2"); QVariant reader = xlsx.read("C3"); //读取指定单元格数据 QString str = reader.toString(); qDebug()<<str;
QXlsx::Document xlsx("D:/lm.xlsx"); bool b=xlsx.selectSheet("8.2"); QVariant reader = xlsx.read("C3"); //读取指定单元格数据 QVariant reader1 = xlsx.read(6,4); //读取指定单元格数据--从1开始 QString str = reader1.toString(); qDebug()<<str;