日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数据导出到Excel

發布時間:2025/3/15 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据导出到Excel 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

數據導出到Excel

開發工具與關鍵技術:Qt Creator、C++作者:何任賢撰寫時間:2020年05月05日 我們在做項目的時候,經常會有要求把表格數據導出到Excel的要求,我呢,就做了一個列子,這個列子不是導出表格的,我只做了單條數據導出,我們表格跟單條就只有循環的這個差別,單條數據導出比較好講,會單條導出就等會表格了,所以我這個列子就是單條導出的。導出Excel需要引入的頭文件

#include

//這個頭文件是獲取當前項目路徑用的

#include

而且我們需要在工程文件(.pro)中加上QT+= axcontainer并且右鍵項目執行qmake。

然后下面是導出Excel的代碼

//設置導出路徑

QString derivePath = QDir::currentPath() + tr("/test.xlsx");//路徑//創建Excel進程QAxObject *myExcel = new QAxObject("Excel.Application");//工作薄集指針QAxObject *myworks = myExcel->querySubObject("WorkBooks");//添加一個工作簿myworks->dynamicCall("Add");//工作薄指針(獲取當前活動的工作簿)QAxObject *workbook = myExcel->querySubObject("ActiveWorkBook");//獲取電子表格集QAxObject *mysheets = workbook->querySubObject("WorkSheets");//添加一個表格mysheets->dynamicCall("Add");//獲取工作簿中當前活動表格QAxObject *sheet = workbook->querySubObject("ActiveSheet");這以上的代碼是創建一個虛擬的Excel,并且獲取這個虛擬的Excel。這是必須的,別人規定的,大致意思是在內存中創建一個Excel表格,這是有目的的,因為我們都知道內存中交換數據快,更新數據也快。QString str = neirEdit->text();//內容int row = hangEdit->text().toInt();//某行int lie = lieEdit->text().toInt();//某列QAxObject *pRange = sheet->querySubObject("Cells(int,int)",

row, lie);

pRange->dynamicCall("Value", QVariant(str));這上面的一段代碼則是把數據存進我們創建的虛擬Excel中。//保存表格

workbook->dynamicCall(“SaveAs(const QString&)”, QDir::toNativeSeparators(derivePath));

這上面的一段代碼則是則才是真正的把數據存Excel中。

下面的這些就是把我們創建Excel釋放掉。

//關閉工作簿workbook->dynamicCall("Close(Boolean)",false);//釋放workbookdelete workbook;workbook = NULL;//退出進程myExcel->dynamicCall("Quit(void)");//釋放myExceldelete myExcel;

myExcel = NULL;

下面是我這個列子的效果圖

這是列子的布局。

這是導出到Excel表格中的數據。

我們從上面可以知道Excel的行與列是從1開始的所以我們在寫表格循環導出的時候需要注意了。

總結

以上是生活随笔為你收集整理的数据导出到Excel的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。