Qt xlsx 模塊 的編譯 和 使用配置。 window 和 linux 兩種系統均有詳細講解。


時間: 2020-12-05

 

解決方案:

編譯 Qt xlsx的源碼。然后,作如下操作:

 ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||   window 下 (網友的, 我的Activate Perl 未裝成功, 無法編譯  Qt Xlsx src.pro) ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

構建完畢之后,后生產如下幾個文件:

.....\build-qtxlsx-Desktop_Qt_5_7_0_MSVC2013_64bit-Debug

include

lib

mkspecs

src

.qmake.cache

接下來就需要將這些文件拷貝到指定的位置,以便Qt可以正常的調用,

1、首先拷貝include目錄下的QtXlsx目錄到Qt的安裝目錄下,比如我的拷貝到:

D:\Qt\Qt5.7.0\5.7\msvc2013_64\include

2、接下來拷貝lib文件夾下 Qt5Xlsxd.lib   Qt5Xlsx.lib   Qt5Xlsx.prl   Qt5Xlsxd.prl  4個文件到你的Qt的lib下:

D:\Qt\Qt5.7.0\5.7\msvc2013_64\lib

3、拷貝lib文件夾下的  Qt5Xlsx.dll  Qt5Xlsxd.dll 庫文件到你的Qt庫路徑下

D:\Qt\Qt5.7.0\5.7\msvc2013_64\bin

4、拷貝 mkspecs\modules 文件夾下的qt_lib_xlsx.pri到你的Qt模塊下

D:\Qt\Qt5.7.0\5.7\msvc2013_64\mkspecs\modules

接下來就可以使用Qt進行excel的操作了,只是需要注意,

使用的時候需要包含頭文件

#include <QtXlsx>

在你的 qmake .pro 需要添加:

QT += xlsx

完畢之后,最好先qmake 在構建工程,否則會提示連接不到庫。

 

 |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||   linux 下 (麒麟4.0)  |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

構建完畢之后,后生產如下幾個文件:

 

接下來就需要將這些文件拷貝到指定的位置,以便Qt可以正常的調用。

1、首先拷貝include目錄下的QtXlsx目錄到Qt的安裝目錄下,比如我的拷貝到:

 /usr/include/qt5

 

2、拷貝lib文件夾下文件和文件夾,  對應到你的Qt模塊路徑下:(!!! 我的目錄是lib64 不是 lib!!!)

2.1  拷貝.../lib/cmake 文件夾下 Qt5Xlsx 到下面的路徑

/usr/lib64/cmake

2.2 拷貝.../lib/pkgconfig文件夾下 Qt5Xlsx.pc 到下面的路徑

/usr/lib64/pkgconfig

2.3 拷貝 .../lib下的 所有 .so、.so...、.la、.prl 到下面的路徑

/usr/lib64

 

3、拷貝 mkspecs\modules 文件夾下的qt_lib_xlsx.pri到你的Qt模塊下。(!!!! 上面說的linux和windows的目錄結構不一致, linux缺少的目錄結構,在這里可以找到!!!!)

/usr/lib64/qt5/mkspecs/modules

我的麒麟4.0環境, /usr/a_zhm/StudyCode/Excel/build-qtxlsx-Desktop-Debug/mkspecs下有兩個文件夾modules 和 modules-inst。

modules下有 qt_lib_xlsx.pri ;modules-inst下有 qt_lib_xlsx.pri 和 qt_lib_xlsx_private.pri 。 

 我的/usr/lib64/qt5/mkspecs/modules這個目錄下已有的文件   xxxx_pri 和  xxxx_private.pri 是成對的。 因此,我從拷貝了生成目錄. ../mkspecs/modules-inst 下的兩個文件。

 

4. src 目錄是 Qt Creator 構建工程時生成的目錄, 不需要拷貝。

接下來就可以使用Qt進行excel的操作了,只是需要

 

finish...

  |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||   linux 下 (麒麟4.0) Qt環境目錄結構  補充說明  |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

指定位置:構建套件Kit中選擇的Qt Version 對應的安裝目錄, Qt Creator 里 截圖如下:

 

 

 

 這里再補充說明一些東西,  我是個linux新手,  Qt5.6.0 in PATH (system)  對應的qmake-qt5文件, 在目錄 /usr/bin/qmake-qt5。 

這個目錄跟我們windows里看到的 ../Qt5.6.0/bin/..的不同。 windows下, lib 、 include、bin...都集中在不同編譯器目錄下,例如: Qt\Qt5.9.8\5.9.8\msvc2015_64。  

而linux下, 是分散在 /usr/lib、 /usr/include、 /usr/bin  .... 里。 下面截圖對比如下:(對比可以看出, linux下 缺少了很多目錄, 比如:doc、mkspecs、phrasebooks、plugins....不着急,下面我會說)

windows:                                  linux:

 

                                  

 

 

然后,自己在linux里安裝的 Qt, 目錄跟windows下是一樣的,截圖如下。 至於上面那種(/usr/...),我就不懂環境是如何搭建的了(囧....求告知...thanks very much)。

.....這種類型的目錄,后續處理跟windows一致。

  |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||   linux 下 (麒麟4.0) 打完收工  perfect   |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

 

關於 Qt xlsx 來 各種方式讀寫 excel , 閱讀 Qt xlsx 源碼自帶的 example 程序 就足夠足夠了。 


免責聲明!

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



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