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 @   天子骄龙  阅读(1057)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
历史上的今天:
2019-02-12 QToolBox工具箱
2019-02-12 组合框QGroupBox
2019-02-12 把ui界面加入到工程中
2019-02-12 assistant文档
点击右上角即可分享
微信分享提示

目录导航