Qt使用Qtxlsx第三方库
使用说明
下载 qtxlsx
#include
#include "xlsxdocument.h"
int main()
{
{
//Create a new .xlsx file.
QXlsx::Document xlsx;
xlsx.write("A1", "Hello Qt!");
xlsx.write("A2", 12345);
xlsx.write("A3", "=44+33");
xlsx.write("A4", true);
xlsx.write("A5", "http://qt-project.org");
xlsx.write("A6", QDate(2013, 12, 27));
xlsx.write("A7", QTime(6, 30));
xlsx.wirte(1,10, "xxx");
xlsx.saveAs("Book1.xlsx");
}
QXlsx::Document xlsx("Book1.xlsx");
qDebug()<value();
}
return 0;
}
# 全进阶操作
https://www.cnblogs.com/whwywzhj/p/9176662.html
1. 选择指定工作表(没有就创建)
if(!xlsx.selectSheet("ziv")){/*在当前打开的xlsx文件中,找一个名字为ziv的sheet*/
xlsx.addSheet("ziv");//找不到的话就添加一个名为ziv的sheet
}
2. 指定格式
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);/*写入文字,应该刚才设置的样式*/
3. 插入图表
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");