QT学习:QAxObject对象访问
一、操作Excel的基本流程
Qt操作Excel的基本流程如下圖:
(1)啟動Excel進程、獲取Excel工作簿集。 創(chuàng)建Excel進程使用如下語句:
通過進程獲取Excel工作簿集,語句為:
QAxObject *myworks = myexcel->querySubObject("WorkBooks");其中,myworks是工作簿集的引用,用戶可根據(jù)需要定義其名稱,同樣,在程序中也要求引用一致。
有了Excel進程和工作簿集的引用,就可以使用它們對Excel進行一系列文檔級別的操作。
(2)獲取電子表格集。
每個Excel工作簿中都可以包含若干電子表格(Sheet),通過打開的當前工作簿獲取其所有電子表格的程序語句為:
在獲取了電子表格集后,就可以像操作工作簿文檔那樣,對其中的表格執(zhí)行各種操作。
(3)操作單元格及其數(shù)據(jù)。
對Excel的操作最終要落實到對某個電子表格單元格中數(shù)據(jù)信息的讀寫上,在Qt中的Excel單元格同樣是作為QAxObject對象來看待的,對它的操作通過其所在表格的QAxObject對象句柄執(zhí)行,如下:
這樣,就實現(xiàn)了對Excel各個級別對象的靈活操作和使用。
為避免資源無謂消耗和程序死鎖,通常在編程結(jié)束時還必須通過語句釋放該Excel進程所占據(jù)的系統(tǒng)資源,如下:
2.操作Word的基本流程
Qt操作Word的基本流程如下:
(1)啟動Word進程、獲取Word文檔集。
創(chuàng)建Word進程使用如下語句:
通過進程獲取Word文檔集,語句為:
QAxObject *mydocs = myword->querySubObject("Documents");有了Word進程和文檔集的引用,就可以使用它們對Word文檔執(zhí)行操作。
(2)獲取和操作當前選中的段落。
一個Word文檔由若干文本段落構(gòu)成,通過文檔句柄可對當前選中的段落執(zhí)行特定的操作,如下:
下面舉兩個操作Word文檔段落的語句,如下:
paragraph->dynamicCall("TypeText(const QString&)", 字符串); //寫入文本字符串 paragraph = document->querySubObject("Range()"); //獲取文本 QString str = paragraph->property("Text").toString(); //讀出文本字符串在使用完Word文檔之后也要進行釋放資源和關(guān)閉進程的善后處理,如下:
document->dynamicCall("Close()"); //關(guān)閉文檔 myword->dynamicCall("Quit()"); //退出進程02總結(jié)
以上是生活随笔為你收集整理的QT学习:QAxObject对象访问的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: QT学习:Qt操作数据库
- 下一篇: QT学习:AxWidget界面显示