Qt Xlsx(QtXlsxWriter)使用ルーチン
19912 ワード
Qt Xlsx(QtXlsxWriter)のインストールについては、以下を参照してください.http://blog.csdn.net/woshidahuaidan2011/article/details/52724452ここでは主にその基本的なプログラミングの使い方を紹介します.まずxlsxファイルの読み書きを考えます.そのため、次のコードがあります.
その運転効果は以下の通りである:
次に、データを処理するのは、折れ線図、円グラフなどを挿入して画像化する処理データが多いため、既存のコードにsheetを追加し、円グラフとそのストライプ図を挿入するコードを追加することができます.
上記のコードでの実行効果は、です.
多くの場合、テーブルを美化するためにグラフを追加する必要があります.コードは次のとおりです.
効果は次のとおりです:
ここまでQt Xlsxの使用は大部分の需要を満たすことができるべきで、もし疑問があれば伝言の指摘を歓迎して、原文の住所:http://blog.csdn.net/woshidahuaidan2011/article/details/53349163
#include <QtCore>
#include "xlsxdocument.h"
#include "xlsxformat.h"
#include "xlsxcellrange.h"
#include "xlsxchart.h"
int main()
{
QXlsx::Document xlsx("book1.xlsx");/* book1 */
QXlsx::Format format1;/* */
format1.setFontColor(QColor(Qt::red));/* */
format1.setPatternBackgroundColor(QColor(152,251,152));/* */
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);/* , */
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);
xlsx.saveAs("book1.xlsx");/* */
QXlsx::Document xlsx2("Book1.xlsx");/* book1 book2*/
xlsx2.saveAs("Book2.xlsx");
return 0;
}
その運転効果は以下の通りである:
次に、データを処理するのは、折れ線図、円グラフなどを挿入して画像化する処理データが多いため、既存のコードにsheetを追加し、円グラフとそのストライプ図を挿入するコードを追加することができます.
#include <QtCore>
#include "xlsxdocument.h"
#include "xlsxformat.h"
#include "xlsxcellrange.h"
#include "xlsxchart.h"
int main()
{
QXlsx::Document xlsx("book1.xlsx");/* book1 */
QXlsx::Format format1;/* */
format1.setFontColor(QColor(Qt::red));/* */
format1.setPatternBackgroundColor(QColor(152,251,152));/* */
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);/* , */
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);
if(!xlsx.selectSheet("ziv")){/* xlsx , ziv sheet*/
xlsx.addSheet("ziv");// ziv sheet
}
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 */
pieChart->setChartType(QXlsx::Chart::CT_Pie);/* */
pieChart->addSeries(QXlsx::CellRange("A10:A19"));/* */
pieChart->addSeries(QXlsx::CellRange("B10:B19"));
pieChart->addSeries(QXlsx::CellRange("C10:C19"));
QXlsx::Chart *barChart = xlsx.insertChart(3, 13, QSize(300, 300));/* 3 13 */
barChart->setChartType(QXlsx::Chart::CT_Bar);/* */
barChart->addSeries(QXlsx::CellRange("A10:C19"));/* */
xlsx.saveAs("book1.xlsx");/* */
QXlsx::Document xlsx2("Book1.xlsx");/* book1 book2*/
xlsx2.saveAs("Book2.xlsx");
return 0;
}
上記のコードでの実行効果は、です.
多くの場合、テーブルを美化するためにグラフを追加する必要があります.コードは次のとおりです.
#include <QtCore>
#include <QtGui>
#include "xlsxdocument.h"
#include "xlsxformat.h"
#include "xlsxcellrange.h"
#include "xlsxchart.h"
int main()
{
QXlsx::Document xlsx("book1.xlsx");/* book1 */
QXlsx::Format format1;/* */
format1.setFontColor(QColor(Qt::red));/* */
format1.setPatternBackgroundColor(QColor(152,251,152));/* */
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);/* , */
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);
if(!xlsx.selectSheet("ziv")){/* xlsx , ziv sheet*/
xlsx.addSheet("ziv");// ziv sheet
}
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 */
pieChart->setChartType(QXlsx::Chart::CT_Pie);/* */
pieChart->addSeries(QXlsx::CellRange("A10:A19"));/* */
pieChart->addSeries(QXlsx::CellRange("B10:B19"));
pieChart->addSeries(QXlsx::CellRange("C10:C19"));
QXlsx::Chart *barChart = xlsx.insertChart(3, 13, QSize(300, 300));/* 3 13 */
barChart->setChartType(QXlsx::Chart::CT_Bar);/* */
barChart->addSeries(QXlsx::CellRange("A10:C19"));/* */
QImage image(40, 100, QImage::Format_RGB32);/* Qimage, 40*100*/
image.fill(Qt::green);/* */
xlsx.insertImage(1, 1, image);/* */
xlsx.saveAs("book1.xlsx");/* */
QXlsx::Document xlsx2("Book1.xlsx");/* book1 book2*/
xlsx2.saveAs("Book2.xlsx");
return 0;
}
効果は次のとおりです:
ここまでQt Xlsxの使用は大部分の需要を満たすことができるべきで、もし疑問があれば伝言の指摘を歓迎して、原文の住所:http://blog.csdn.net/woshidahuaidan2011/article/details/53349163