国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

記錄嵌入式Excel表格數據導出的構建過程

嵌入式小生 ? 來源:嵌入式小生 ? 作者:iriczhao ? 2022-10-27 11:14 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

最近有一個嵌入式Excel表格數據導出的需求:應用軟件運行于嵌入式Linux平臺上,在設備運行過程中,存儲了許多數據,這些數據想以表格的形式導出。

考慮到Windows平臺的普遍性,需要將數據以excel表格形式導出,故選擇了一個開源庫:QtXlsxWriter,本文主要記錄其編譯構建過程。

從下列地址https://github.com/dbzhang800/QtXlsxWriter獲取安裝包,將源碼包解壓縮,目錄結構如下圖所示:

8a47ddd8-4575-11ed-96c9-dac502259ad0.png

example目錄下存放的是示例Demo。

src目錄下存放的是xlsx的源碼。

tests目錄下存放的是測試工程。

QtXlsxWriter可以通過QtCreator來編譯構建,所以我們打開安裝在linux平臺上的QtCreator,然后使用QtCreator打開QtXlsxWriter項目(選擇源碼目錄下的xxx.pro文件)。選擇對應的編譯構建套件后,如下圖所示:

8aaa8e6a-4575-11ed-96c9-dac502259ad0.png

點擊項目管理視圖中的頂級目錄,單擊右鍵,選擇“構建”,即可構建QtXlsxWriter:

8ad7df3c-4575-11ed-96c9-dac502259ad0.png

編譯成功后,將在源碼目錄的同級下創建構建輸出目錄,該目錄結構如下圖所示:

8afdbc2a-4575-11ed-96c9-dac502259ad0.png

bin :用于存放二進制文件。(該目錄為空)

examples:示例Demo的編譯構建輸出目錄。

include:該目錄存放關于QtXlsxWriter的頭文件:

8b33abfa-4575-11ed-96c9-dac502259ad0.png

lib:該目錄用于存放QtXlsxWriter的庫目錄:

8b5f9d78-4575-11ed-96c9-dac502259ad0.png

mkspecs:該目錄是Qt的模塊化標識目錄,用于向Qt開發環境添加Xlsx:

8b866110-4575-11ed-96c9-dac502259ad0.png

tests:該目錄用于存放測試工程。

在上述目錄中,include、lib、mkspecs目錄是比較重要的目錄。在搭建QtXlsxWriter開發環境時需要使用到。

將構建完成后的目錄下的bin、include、lib、mkspecs、src目錄拷貝到Qt的安裝目錄下,以在QtCreator中可以使用Qt+=xlsx加載模塊

然后可以編譯構建一個demo示例來測試一下。本文以chart為例,其代碼如下:

#include
#include"xlsxdocument.h"
#include"xlsxcellrange.h"
#include"xlsxchart.h"

usingnamespaceQXlsx;

intmain()
{
//![0]創建xlsx文檔對象。向單元格總寫入數據
Documentxlsx;
for(inti=1;isetChartType(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);
//Willgeneratethreelines.
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);
//Willgeneratetwolines.
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文件。
Documentxlsx2("Book1.xlsx");
xlsx2.saveAs("Book2.xlsx");
return0;
}

選中項目管理視圖中的example目錄,依次展開,選擇chart目錄,右鍵單擊,選中“構建”選項,即可對chart示例演示進行構建。

然后在chart的編譯構建目錄下,將生成如下文件:

8ba2da34-4575-11ed-96c9-dac502259ad0.png

在終端運行一下生成的程序(此處是chart):

8bc51ae0-4575-11ed-96c9-dac502259ad0.png

運行完成后,將在同級目錄下創建兩個文件:如下圖所示:

8bf79204-4575-11ed-96c9-dac502259ad0.png

注:由于在ubuntu編譯構建,沒有安裝能打開xlsx的應用軟件,故將其拷貝到Windows下使用wps打開。打開后圖表如下圖所示:

8c356296-4575-11ed-96c9-dac502259ad0.png

以上過程是在Ubuntu18.04下進行的,如果想讓QtXlsxWriter運行于嵌入式linux平臺上,只需要在QtCreator中選擇編譯構建套件時,選擇對應的交叉編譯套件編譯,在編譯完成后,將構建出的庫文件復制到Linux的鏈接庫目錄下(一般為/usr/lib),則可以在嵌入式Linux平臺上使用QtXlsxWriter了。






審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • QTcreator
    +關注

    關注

    0

    文章

    11

    瀏覽量

    7319
  • BIN文件
    +關注

    關注

    0

    文章

    27

    瀏覽量

    9019
  • Linux開發
    +關注

    關注

    0

    文章

    46

    瀏覽量

    7688

原文標題:Excel表格數據導出,這個庫不錯

文章出處:【微信號:嵌入式小生,微信公眾號:嵌入式小生】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    什么是嵌入式應用開發?

    。 · ?醫療設備?:如心電圖儀、血壓計等。 開發工具和技術 嵌入式開發過程中常用的工具包括: · ?集成開發環境(IDE)?:用于編寫、編譯和調試代碼。 · ?編譯器?:將高級語言代碼轉換為機器語言
    發表于 01-12 16:13

    arm嵌入式主板優缺點

    嵌入式主板是嵌入在設備里面做控制、數據處理使用的CPU板 ,常見的有兩類,即基于X86的嵌入式主板和基于RISC的ARM 嵌入式主板。今天我
    發表于 01-08 07:08

    嵌入式應掌握的幾種能力

    1. 編程語言 基本掌握嵌入式必備的編程語言。C語言為主,C++為輔。在資源有限的情況下,大多數嵌入式產品還是使用C語言為主的,特別是底層驅動開發。上層應用開發大多用C,在一些資源比較充足的平臺
    發表于 12-08 06:05

    ARM嵌入式這樣學

    )話題大熱,Arm也推出神經網絡機器學習軟件 Arm NN,可在基于Arm的高能效平臺上輕松構建和運行機器學習應用程序,未來嵌入式行業也將不斷革新,嵌入式市場有所可期。 據知乎某15年從業人員看
    發表于 12-04 07:48

    使用xmake+zig更優雅的進行嵌入式系統開發

    引言在嵌入式系統開發領域,構建工具的穩定性與可維護性對項目長期發展至關重要。嵌入式項目通常需要針對不同硬件平臺進行交叉編譯,每個平臺都需要依賴特定的構建工具鏈,環境搭建復雜。隨著LLV
    的頭像 發表于 11-30 10:04 ?4528次閱讀
    使用xmake+zig更優雅的進行<b class='flag-5'>嵌入式</b>系統開發

    電能質量在線監測裝置的報警記錄可以導出嗎?

    操作(工業級裝置) 按鍵導出:在裝置本地菜單中選擇 “事件記錄”→“報警記錄”,按導出鍵(如施耐德 PM5100 的 “Export” 按鈕),將
    的頭像 發表于 11-05 13:46 ?517次閱讀

    嵌入式工程師為什么要學QT?

    、Clang、MSVC等,并提供了跨平臺的編譯和發布流程。 強大的集成開發環境(IDE) Qt Creator提供了代碼編輯、調試、構建和發布功能,極大地提升了開發效率。 因此,Qt是嵌入式工程師值得學習的一個工具。 它能夠幫助工程師提高開發效率,編寫高質量的代碼,并
    發表于 08-14 15:15

    【「Yocto項目實戰教程:高效定制嵌入式Linux系統」閱讀體驗】+基礎概念學習理解

    軟件包的依賴關系、編譯選項、配置參數等。掌握元數據的使用方法對于定制和優化嵌入式 Linux 系統至關重要。 BitBake BitBake 是 Yocto 項目的構建工具。通過學習這部分內容,我深入
    發表于 08-04 22:29

    【深度解析】硬件電路設計:如何確保嵌入式數據可靠性?

    嵌入式系統開發中,硬件電路設計是確保數據可靠性的關鍵環節。本期我們將重點探討硬件設計中的兩個重要方面:數據讀寫保護和掉電保護。硬件電路設計在嵌入式系統開發中,硬件電路設計對于確保
    的頭像 發表于 07-30 11:35 ?719次閱讀
    【深度解析】硬件電路設計:如何確保<b class='flag-5'>嵌入式</b><b class='flag-5'>數據</b>可靠性?

    如何導出Excel文件 -- excel_hm介紹 ##三方SDK##

    ; this.message = \'\'; this.showFileActions = false; // 構建表格數據 const tableData: ExcelTableData = { title
    發表于 06-30 17:57

    嵌入式開發入門指南:從零開始學習嵌入式

    特定功能的計算機系統,廣泛應用于智能家居、工業控制、醫療設備、車載系統等領域。 2. 學習嵌入式開發的前置知識熟悉C語言編程掌握基本的數據結構與算法了解數字電路與微控制器原理熟悉Linux操作系統
    發表于 05-15 09:29

    嵌入式工控機VS普通工控機,哪個產品的性能更好?

    大型系統構建中,普通工控機的系統擴展能力、網絡通訊能力也是嵌入式工控機難以替代的; 還有,在可視化設計、流程監控、數據統計、科學計算、原型仿真設計、在環仿真等領域,普通工控機具有先天的優勢。 ?
    的頭像 發表于 04-30 17:53 ?939次閱讀
    <b class='flag-5'>嵌入式</b>工控機VS普通工控機,哪個產品的性能更好?

    飛凌嵌入式2025嵌入式及邊緣AI技術論壇圓滿結束

    飛凌嵌入式「2025嵌入式及邊緣AI技術論壇」在深圳深鐵皇冠假日酒店盛大舉行,此次活動邀請到了200余位嵌入式技術領域的技術專家、企業代表和工程師用戶,共享嵌入式及邊緣AI技術的盛宴!
    的頭像 發表于 04-28 13:57 ?4128次閱讀
    飛凌<b class='flag-5'>嵌入式</b>2025<b class='flag-5'>嵌入式</b>及邊緣AI技術論壇圓滿結束

    嵌入式適合自學嗎?

    構、時鐘系統、電源管理、存儲映射等。 嵌入式必學技術點↓↓↓ 1硬件與軟件的結合 2實時性要求與資源限制 3跨領域知識整合 4調試與測試困難 二)缺乏專業指導 1)容易走彎路:自學嵌入式過程
    發表于 04-27 09:54

    飛凌嵌入式「2025嵌入式及邊緣AI技術論壇」議程公布

    4月22日,飛凌嵌入式“2025嵌入式及邊緣AI技術論壇”將在深圳舉行,論壇以“新生態,智未來”為主題,旨在匯聚行業智慧,探討嵌入式技術與邊緣AI的深度融合與創新應用。
    的頭像 發表于 04-02 15:12 ?1347次閱讀
    飛凌<b class='flag-5'>嵌入式</b>「2025<b class='flag-5'>嵌入式</b>及邊緣AI技術論壇」議程公布