柚子快報激活碼778899分享:qt5 xlsx qt庫 QT
柚子快報激活碼778899分享:qt5 xlsx qt庫 QT
QT_XLSX庫的導(dǎo)入和使用
主要介紹QtXlsx的使用及安裝,為后續(xù)的測試項目做個鋪墊,項目內(nèi)容就是一個工裝測試界面,其中掃碼獲取電路板的id號之后把燒錄結(jié)果和測試結(jié)果采用excel作為數(shù)據(jù)庫存儲。
?
一、QtXls庫安裝
1 .1 下載QtXlsx源碼
QtXlsx官網(wǎng)可以查看關(guān)于這個庫的介紹,大家直接去github下載使用即可,點擊藍字進入下載鏈接
—> Github下載鏈接:
https://github.com/dbzhang800/QtXlsxWriter
??
??此外,后續(xù)的構(gòu)建操作還需要電腦有perl環(huán)境,官網(wǎng)下載鏈接比較慢,需要的可以直接點擊下面鏈接下載或者去官網(wǎng)下載。
快速下載(CSDN下載):
https://download.csdn.net/download/Kevin_8_Lee/22780854
官網(wǎng)鏈接: https://strawberryperl.com/
??
??安裝按照默認即可
??用Qt打開pro文件并構(gòu)建(左下角的小錘子或者直接右鍵構(gòu)建,只構(gòu)建,不要運行)
??
??
??將include文件夾中的 QtXlsx文件夾整個復(fù)制到 Qt安裝目錄中的incude文件夾,我的是在下面的路徑:
D:\Qt\5.11.1\mingw81_64\include ?
??
將lib文件夾中的prl文件和.a后綴的庫文件復(fù)制到
D:\Qt\5.11.1\mingw81_64\lib ? ?
??
??
將lib文件夾中的dll文件復(fù)制到
D:\Qt\5.11.1\mingw81_64\bin ? ?
??
將mkspecs文件夾中modules子文件夾pri文件復(fù)制到
D:\Qt\5.11.1\mingw81_64\mkspecs\modules ?
??
經(jīng)過以上流程就操作結(jié)束了,在代碼中可以愉快地使用xlsx模塊了。如果編譯過程出現(xiàn)什么問題可以在編譯代碼前運行qmake再運行代碼,若碰到其它問題歡迎評論區(qū)討論。
?
二、QtXls庫使用方法
?
2 .1 實例操作介紹
??QtXlsx庫在Qt中用來操作Excel文件,可以跨平臺使用,也就是說你在Linux下沒有Microsoft Excel也可以使用這個庫。QtXlsx的讀寫Excel文件速度也非???。
?? 使用Qtxlsx庫,在Qt5.11.1中操作excel文件(讀/寫)。操作說明如下:
2 .2 新建一個Qt工程
??隨便取名字,帶ui界面的比較好操作
??
?
2 .3 設(shè)計ui界面(Qt Creator)
QtCreator設(shè)計界面及對應(yīng)空間命名如下圖所示:
??
??
在類后寫上字母注釋這樣方便引用
2 .4 代碼設(shè)計
首先在pro文件中添加xlsx模塊,才可以使用這個庫的函數(shù)對excel文件進行讀寫操作。
??
在excel.h總添加頭函數(shù):
#include
#include
#include
??
在兩個按鈕的槽函數(shù)中輸入功能代碼:
void excel::on_pushButton_W_clicked()
{
int Cell_num_h,Cell_num_v;
QString Cell_val_w;
QXlsx::Document test_Xlsx("./Test/Test.xlsx");
Cell_num_h = ui->lineEdit_W_h->text().toInt();
Cell_num_v = ui->lineEdit_W_v->text().toInt();
Cell_val_w = ui->lineEdit_W->text();
QString folderPath =log_path;
QDir folder(folderPath);
if (!folder.exists())
{
if (folder.mkpath(".")) {
qDebug() << "沒有文件夾";
qDebug() << "Folder created successfully.";
test_Xlsx.write(Cell_num_h, Cell_num_v,Cell_val_w);
QMessageBox::information(NULL, "提示", "Write Success!");
// 將設(shè)置的內(nèi)容寫入對應(yīng)單元格內(nèi)并保存文件為 Test.xlsx
test_Xlsx.saveAs("./Test/Test.xlsx");
} else {
qDebug() << "Failed to create folder.";
}
}
else
{
qDebug() << "已經(jīng)有文件夾了";
// 獲取文本框內(nèi)設(shè)置的單元格及要寫入的值
test_Xlsx.write(Cell_num_h, Cell_num_v,Cell_val_w);
QMessageBox::information(NULL, "提示", "Write Success!");
test_Xlsx.save();
}
}
void excel::on_pushButton_R_clicked()
{
QXlsx::Document test_Xlsx("./Test/Test.xlsx"); // Test.xlsx跟工程在同一文件夾中,因此這里用相對路徑
QString Cell_val_r;
int Cell_num_h, Cell_num_v;
Cell_num_h = ui->lineEdit_R_H->text().toInt(); // 獲取字符寫入了哪一個單元格
Cell_num_v = ui->lineEdit_R_V->text().toInt();
// 讀取對應(yīng)單元格內(nèi)容并在textBrowser顯示出來
Cell_val_r = test_Xlsx.read(Cell_num_h,Cell_num_v).toString();
ui->textEdit_R->setText(Cell_val_r);
}
??
程序界面:
??
使用:
??
在第一行第2列寫入內(nèi)容
? 可以在輸出地方查到第一行第二列已經(jīng)寫入的內(nèi)容
在bulid-debug下的tests文件夾中可以看到新建的一個excel表格,里面的內(nèi)容就是ui界面操作寫入的內(nèi)容。如下圖所示。 ??
??
?
三、小結(jié)
這樣就搞好了,剩下的各種函數(shù)可以在庫里面自己運行單獨的項目去測試使用!
網(wǎng)址參考:
https://mp.weixin.qq.com/s__biz=MzU1NjEwMTY0Mw==&mid=2247527494&idx=2&sn=96a5ad53c1bcc01198e43790fae15c84&chksm=fbc81522ccbf9c349b8c8d61d54e4d6a46d85d514bbba87ebe337343b7ae4386d4eb61e36965&scene=27
https://blog.csdn.net/Kevin_8_Lee
https://www.guyuehome.com/author/61398ec3d1017
?
柚子快報激活碼778899分享:qt5 xlsx qt庫 QT
精彩文章
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。