怎么做关于易烊千玺的网站,新建一个网站需要多少钱,十大网络营销经典案例,营销型网站套餐有一个嵌入式Excel表格数据导出的需求#xff1a;应用软件运行于嵌入式Linux平台上#xff0c;在设备运行过程中#xff0c;存储了许多数据#xff0c;这些数据想以表格的形式导出。考虑到Windows平台的普遍性#xff0c;需要将数据以excel表格形式导出#xff0c;故选择…有一个嵌入式Excel表格数据导出的需求应用软件运行于嵌入式Linux平台上在设备运行过程中存储了许多数据这些数据想以表格的形式导出。考虑到Windows平台的普遍性需要将数据以excel表格形式导出故选择了一个开源库QtXlsxWriter本文主要记录其编译构建过程。
从下列地址https://github.com/dbzhang800/QtXlsxWriter获取安装包将源码包解压缩目录结构如下图所示 example目录下存放的是示例Demo。
src目录下存放的是xlsx的源码。
tests目录下存放的是测试工程。
QtXlsxWriter可以通过QtCreator来编译构建所以我们打开安装在linux平台上的QtCreator然后使用QtCreator打开QtXlsxWriter项目选择源码目录下的xxx.pro文件。选择对应的编译构建套件后如下图所示 点击项目管理视图中的顶级目录单击右键选择“构建”即可构建QtXlsxWriter 编译成功后将在源码目录的同级下创建构建输出目录该目录结构如下图所示 bin 用于存放二进制文件。该目录为空examples示例Demo的编译构建输出目录。include该目录存放关于QtXlsxWriter的头文件 lib该目录用于存放QtXlsxWriter的库目录 mkspecs该目录是Qt的模块化标识目录用于向Qt开发环境添加Xlsx tests该目录用于存放测试工程。
在上述目录中include、lib、mkspecs目录是比较重要的目录。在搭建QtXlsxWriter开发环境时需要使用到。 将构建完成后的目录下的bin、include、lib、mkspecs、src目录拷贝到Qt的安装目录下以在QtCreator中可以使用Qtxlsx加载模块 然后可以编译构建一个demo示例来测试一下。本文以chart为例其代码如下
#include QtCore
#include xlsxdocument.h
#include xlsxcellrange.h
#include xlsxchart.husing namespace QXlsx;int main()
{//![0] 创建xlsx文档对象。向单元格总写入数据Document xlsx;for (int i 1; i 10; i) {xlsx.write(i, 1, i * i * i); // A1:A9xlsx.write(i, 2, i * i); // B1:B9xlsx.write(i, 3, i * i - 1); // C1:C9}//![0]//![1]创建图表Chart *pieChart xlsx.insertChart(3, 3, QSize(300, 300));pieChart-setChartType(Chart::CT_Pie);pieChart-addSeries(CellRange(A1:A9));pieChart-addSeries(CellRange(B1:B9));pieChart-addSeries(CellRange(C1:C9));Chart *pie3DChart xlsx.insertChart(3, 9, QSize(300, 300));pie3DChart-setChartType(Chart::CT_Pie3D);pie3DChart-addSeries(CellRange(A1:C9));Chart *barChart xlsx.insertChart(23, 3, QSize(300, 300));barChart-setChartType(Chart::CT_Bar);barChart-addSeries(CellRange(A1:C9));Chart *bar3DChart xlsx.insertChart(23, 9, QSize(300, 300));bar3DChart-setChartType(Chart::CT_Bar3D);bar3DChart-addSeries(CellRange(A1:C9));Chart *lineChart xlsx.insertChart(43, 3, QSize(300, 300));lineChart-setChartType(Chart::CT_Line);lineChart-addSeries(CellRange(A1:C9));Chart *line3DChart xlsx.insertChart(43, 9, QSize(300, 300));line3DChart-setChartType(Chart::CT_Line3D);line3DChart-addSeries(CellRange(A1:C9));Chart *areaChart xlsx.insertChart(63, 3, QSize(300, 300));areaChart-setChartType(Chart::CT_Area);areaChart-addSeries(CellRange(A1:C9));Chart *area3DChart xlsx.insertChart(63, 9, QSize(300, 300));area3DChart-setChartType(Chart::CT_Area3D);area3DChart-addSeries(CellRange(A1:C9));Chart *scatterChart xlsx.insertChart(83, 3, QSize(300, 300));scatterChart-setChartType(Chart::CT_Scatter);// Will generate three lines.scatterChart-addSeries(CellRange(A1:A9));scatterChart-addSeries(CellRange(B1:B9));scatterChart-addSeries(CellRange(C1:C9));Chart *scatterChart_2 xlsx.insertChart(83, 9, QSize(300, 300));scatterChart_2-setChartType(Chart::CT_Scatter);// Will generate two lines.scatterChart_2-addSeries(CellRange(A1:C9));Chart *doughnutChart xlsx.insertChart(103, 3, QSize(300, 300));doughnutChart-setChartType(Chart::CT_Doughnut);doughnutChart-addSeries(CellRange(A1:C9));//![1]//![2]将xlsx文档对象保存为Book1.xlsx文件。xlsx.saveAs(Book1.xlsx);//![2]//保存为Book2.xlsx文件。Document xlsx2(Book1.xlsx);xlsx2.saveAs(Book2.xlsx);return 0;
}选中项目管理视图中的example目录依次展开选择chart目录右键单击选中“构建”选项即可对chart示例演示进行构建。
然后在chart的编译构建目录下将生成如下文件 以上过程是在Ubuntu18.04下进行如果想让QtXlsxWriter运行于嵌入式linux平台上只需要在QtCreator中选择编译构建套件时选择对应的交叉编译套件在编译完成后将构建出的库文件复制到Linux的链接库目录下一般为/usr/lib则可以在嵌入式Linux平台上使用QtXlsxWriter了。