Qtxlsx的使用


上一遍講述了基於Qt5.9.8下編譯Xtxlsx,本遍講述基於Qt5.9.8下使用Qtxlsx

1、打開Qt Creator 4.8.2(Enterprise),創建工程,選擇版本

  

 

2、在pro文件中添加QT += xlsx

  

 

 

 3、在main.cpp中添加頭文件

  

 

 

 4、main函數添加如下代碼

  QFile::remove("D:/1.xlsx");

  QXlsx::Document doc("D:/1.xlsx");

  

  //報表標題(1-4行)

  doc.setRowHeight(1,4,30);

  Format title_format;

  title_format.setFontSize(11);

  title_format.setFontBold(true);

  title_format.setFontColor(QColor(Qt::red));

  title_format.setBorderStyle(Format::BorderThin);

  title_format.setHorizontalAlignment(Format::AlignLeft);

  title_format.setVerticalAlignment(Format::AlignVCenter);

 

  doc.mergeCells("A1:H1",title_format);

  doc.mergeCells("A2:H2",title_format);

  doc.mergeCells("A3:H3",title_format);

  doc.mergeCells("A4:H4",title_format);

 

  doc.write("A1","巡視單位:高岐變");

  doc.write("A2","巡視路線:安防巡視");

  doc.write("A3","巡視時間:2019-08-28 14:47:30");

  doc.write("A4","巡視人員:hs");

 

  //巡視屬性(5行)

  doc.setColumnWidth(1,15);

  doc.setColumnWidth(2,15);

  doc.setColumnWidth(3,15);

  doc.setColumnWidth(4,15);

  doc.setColumnWidth(5,15);

  doc.setColumnWidth(6,50);

  doc.setColumnWidth(7,50);

  doc.setColumnWidth(8,15);

 

  doc.setRowHeight(5,20);

  Format attr_format;

  attr_format.setFontSize(11);

  attr_format.setFontBold(true);

  attr_format.setFontColor(QColor(Qt::black));

  attr_format.setBorderStyle(Format::BorderThin);

  attr_format.setHorizontalAlignment(Format::AlignHCenter);

  attr_format.setVerticalAlignment(Format::AlignVCenter);

  attr_format.setPatternBackgroundColor(QColor(Qt::gray));

 

  doc.write("A5","變電站名稱",attr_format);

  doc.write("B5","巡視路線名",attr_format);

  doc.write("C5","巡視點名",attr_format);

  doc.write("D5","分析時間",attr_format);

  doc.write("E5","分析結果",attr_format);

  doc.write("F5","原始圖片",attr_format);

  doc.write("G5","分析圖片",attr_format);

  doc.write("H5","備注",attr_format);

 

  //內容(從第6行開始)

  for(int i=6;i<20;i++)

  {

    doc.setRowHeight(i,180);

    Format cell_format;

    cell_format.setFontSize(11);

    cell_format.setFontColor(QColor(Qt::black));

    cell_format.setBorderStyle(Format::BorderThin);

    cell_format.setHorizontalAlignment(Format::AlignHCenter);

    cell_format.setVerticalAlignment(Format::AlignVCenter);

 

    doc.write(i,1,"測試變電站",cell_format);

    doc.write(i,2,"測試路線",cell_format);

    doc.write(i,3,"測試點",cell_format);

    doc.write(i,4,"2019-11-11 00:00:00",cell_format);

    doc.write(i,5,"無",cell_format);

 

    QImage image1("D:/CPSB_test_2016.jpg");

    QImage image2("D:/ZJFX_test_2016.jpg");

    doc.insertImage(i-1,6-1,image1.scaled(360,240,Qt::IgnoreAspectRatio,Qt::SmoothTransformation));

    doc.insertImage(i-1,7-1,image2.scaled(360,240,Qt::IgnoreAspectRatio,Qt::SmoothTransformation));

    doc.write(i,8," ",cell_format);

  }

  doc.save();

 5、最后生成的報表如下

   

6、更多的使用可以參照E:/QtXlsxWriter-master/examples

  

 

  里面包含了Qtxlsx各種各樣的使用。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM