zoukankan      html  css  js  c++  java
  • 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;

  • 相关阅读:
    ReentrantReadWriteLock读写锁的使用
    Exchanger的使用
    CyclicBarrier的用法
    Semaphore的使用
    CountDownLatch的使用
    BlockingQueue的使用
    对字符串操作的各种笔试题
    struts2请求过程源码分析
    shell语法使用
    hibernate调用mysql存储过程
  • 原文地址:https://www.cnblogs.com/liming19680104/p/14398473.html
Copyright © 2011-2022 走看看