Xlsx库的使用

pro文件中添加

QT += xlsx

头文件

#include <QtXlsx/QtXlsx>

 

    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;

 

 

 

 

 

posted @ 2021-02-12 06:07  天子骄龙  阅读(1024)  评论(0编辑  收藏  举报