導航:首頁 > 文件類型 > qt生成excel文件

qt生成excel文件

發布時間:2024-05-04 15:46:31

1. qt中怎樣將表格中數據導出為excel文件

如果你在做一個報表類的程序,可能將內容導出為文件是一項必須的功能。之前使用MFC的時候我就寫過一個類,用於將grid中的數據導出為Excel文件。在使用了QtSql模塊後,我很容易的將這個類改寫應用在Qt程序中。類的名字叫「ExportExcelObject」。使用起來很簡單:

[cpp] view plain
// 1. declare an object

// – fileName Excel 文件路徑

// – sheetName Excel 工作表(sheet)名稱

// – tableView 需要導出的QTableView指針

ExportExcelObject obj(fileName, sheetName, tableView);

// 2. define fields (columns) to the Excel sheet file

// – 第1個參數是QTableView的列

// – 第2個參數是對應該列的Excel sheet中的列名

// – 第3個參數是該列的類型,可以使用char(x) (x最大255),int,datetime, 等

obj.addField(1, tr("name"), "char(60)");

obj.addField(2, tr("ID"), "int");

obj.addField(3, tr("time"), " datetime ");

// 3. 該類有特定的SIGNAL用於連接一個progress控制項,可以顯示導出進度

connect(&obj, SIGNAL(exportedRowCount(int)), progressBar, SLOT(setValue(int)));

// 4. do the work

int retVal = obj.export2Excel();

if(retVal > 0)

{//done

}

else

{//something wrong

}
那麼這個類是怎樣實現的呢?
1. 將Excel文件當成是一個資料庫
使用MS的ODBC或ADO都可以將Excel文件當做一個資料庫,那麼我們只需要使用下面這個DSN連接串去創建並連接至該Excel文件:

[cpp] view plain
QString dsn = QString("DRIVER={Microsoft Excel Driver (*.xls)};DSN=''; FIRSTROWHASNAMES=1;;CREATE_DB=/"%1/";DBQ=%2").

arg(excelFilePath).arg(excelFilePath);

2. 將Excel的工作表(sheet)當成是一個資料庫表
可以使用SQL語句「CREATE TABLE」 去創建一個工作表。

3. 向表中插入數據
使用SQL的「INSERT」語句插入數據。

4. Unicode支持
是的,列名和數據都支持Unicode。

2. qt鎿嶄綔excel鐢熸垚鏁g偣鍥劇殑闂棰橈紝婊℃剰鏈夊伩錛

鍦≦T涓鐩存帴璋冪敤EXCEL鐨凜OM緇勪歡鍙浠ュ疄鐜扮敓鎴愭暎鐐瑰浘錛屼絾鏄鍙鑳戒細閬囧埌涓浜涢棶棰橈紝姣斿傛棤娉曡幏寰楁彃鍏ョ殑鍥捐〃瀵硅薄銆俀Xlsx搴撳彲浠ュ疄鐜拌誨啓鍜岀敓鎴怷LSX鏍煎紡鐨凟xcel琛ㄦ牸錛屽寘鎷鎻掑叆鏁g偣鍥撅紝浣嗘槸鍙鑳藉瓨鍦ㄤ竴浜涢檺鍒跺拰涓嶈凍錛屾瘮濡傛棤娉曟彃鍏X杞村潗鏍囨暟鎹鍜屼笉鑳芥洿鏀笴hartStyle銆

鍙浠ヨ冭檻浣跨敤QT涓鏀鎸佺殑QChart緋誨垪綾誨簱錛岀敓鎴愭暎鐐瑰浘銆俀Chart鏄疩T5涓鐨勬柊鐗規э紝QChart緋誨垪綾誨簱灝佽呬簡鍩轟簬Qt Quick 2D娓叉煋寮曟搸鐨勫浘褰㈢粯鍒舵嗘灦錛屾彁渚涗簡鍙瑙嗗寲鍥捐〃鐨勫姛鑳斤紝鏀鎸佸氱嶅父瑙佺殑鍥捐〃綾誨瀷錛堝寘鎷鏁g偣鍥撅級錛屽苟鎻愪緵浜嗛珮搴﹀畾鍒跺寲鍥捐〃鐨勬帴鍙c傝繖鏍峰氨鍙浠ュ湪QT涓浣跨敤鍘熺敓鎺т歡瀹炵幇鍥捐〃鐨勫彲瑙嗗寲鍜岃嚜瀹氫箟銆

涓嬮潰鏄涓涓綆鍗曠殑浠g爜鐗囨碉紝婕旂ず濡備綍浣跨敤QChart鐢熸垚鏁g偣鍥撅細

```cpp
#include <QtCharts/QChartView>
#include <QtCharts/QScatterSeries>

//瀹氫箟涓涓鍑芥暟鐢ㄤ簬鐢熸垚鏁g偣鍥
void generateScatterChart()
{
//鍒涘緩鏁g偣鏁版嵁
QScatterSeries *series = new QScatterSeries();
series->setName("鏁g偣鍥");

//娣誨姞鏁版嵁鐐
series->append(1, 2);
series->append(3, 4);
series->append(5, 6);
series->append(7, 8);

//鍒涘緩X杞村拰Y杞
QValueAxis *xAxis = new QValueAxis();
xAxis->setLabelFormat("%d");
xAxis->setTitleText("X杞");
QValueAxis *yAxis = new QValueAxis();
yAxis->setLabelFormat("%.2f");
yAxis->setTitleText("Y杞");

//鍒涘緩鍥捐〃騫舵坊鍔犳暎鐐規暟鎹
QChart *chart = new QChart();
chart->addSeries(series);

//璁劇疆鍧愭爣杞
chart->setTitle("鏁g偣鍥");
chart->setAxisX(xAxis, series);
chart->setAxisY(yAxis, series);

//鏄劇ず鍥捐〃
QChartView *chartView = new QChartView(chart);
chartView->setRenderHint(QPainter::Antialiasing);
chartView->show();
}
```

榪欐牱錛屽氨鍙浠ヤ嬌鐢≦Chart緋誨垪綾誨簱錛屽揩閫熸柟渚垮湴鐢熸垚鏁g偣鍥撅紝騫惰繘琛岄珮搴﹀畾鍒跺寲鐨勫浘琛ㄥ睍紺轟簡銆

3. QT excel創建的.xlsx文件打不開

Microsoft Excel 2010 單擊「文件」選項卡,然後單擊「選項」。 單擊「高級」,然後單擊「常規」區域內中的「忽略其他容使用動態數據交換 (DDE) 的應用程序」復選框,以取消選擇。 單擊「確定」。Microsoft Office Excel 2007</b> 單擊「Microsoft Office 按鈕」,然後單擊「Excel 選項」。 單擊「高級」,然後單擊「常規」區域中的「忽略其他使用動態數據交換 (DDE) 的應用程序」復選框,以取消選擇。 單擊「確定」。Microsoft Office Excel 2003 或 Excel 的早期版本</b> 在工具菜單上單擊選項。 單擊「常規」選項卡。 單擊「忽略其他使用動態數據交換 (DDE) 的應用程序」復選框,以取消選擇,然後單擊「確定」。執行此操作後,您應該可以通過在 Windows 資源管理器中雙擊工作簿來將其打開。

4. QT中有什麼控制項可以實現向excel的表格顯示

QTableWidget和/QStandardItemModel

//tableWidget例子
QTableWidget*tableWidget=newQTableWidget(this);
tableWidget->setRowCount(10);
setColumnCount(5);

//tableview的例子
QStandardItemModelmodel(4,4);
for(introw=0;row<4;++row){
for(intcolumn=0;column<4;++column){
QStandardItem*item=newQStandardItem(QString("row%0,column%1").arg(row).arg(column));
model.setItem(row,column,item);
}
}
QTableView*tableView=newQTableView(this);
tableView->setModel(&model);

5. Qt實現一個表格,具有excel功能

Qt實現一個表格,具有excel功能?都有吧 你可以多試試幾個表格

6. 如何使用Qt來操作Excel

Qt操作Excel,無論後綴是xls還是xlsx都可以。

1.如下,是下載的一個Excel VBA參考手冊,內容不算太全!

閱讀全文

與qt生成excel文件相關的資料

熱點內容
物業的招標文件有哪些 瀏覽:452
保存游戲文件名非法或只讀 瀏覽:258
js怎麼做圖片時鍾 瀏覽:451
華為應用裡面有了app說明什麼 瀏覽:801
資料庫中xy是什麼意思 瀏覽:893
u盤打不開提示找不到應用程序 瀏覽:609
網站功能介紹怎麼寫 瀏覽:954
word在試圖打開文件時錯誤 瀏覽:108
主板無vga插槽怎麼連接編程器 瀏覽:521
錄視頻文件在哪裡刪除 瀏覽:881
word2013如何插入文件 瀏覽:233
proe教程百度網盤 瀏覽:197
如何控制遠程linux伺服器 瀏覽:740
it教學app有哪些 瀏覽:34
怎麼在ps摳的圖變成矢量文件 瀏覽:405
口袋妖怪銀魂安卓v11 瀏覽:1
網站上芒果tv的賬號都是什麼 瀏覽:104
帶公式的表格如何刷新數據 瀏覽:81
數據標注語音和2d哪個好 瀏覽:145
保存excel文件的方法 瀏覽:655

友情鏈接