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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

QT学习:QAxObject对象访问

發布時間:2024/9/30 c/c++ 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 QT学习:QAxObject对象访问 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、操作Excel的基本流程

Qt操作Excel的基本流程如下圖:

(1)啟動Excel進程、獲取Excel工作簿集。 創建Excel進程使用如下語句:

QAxObject *myexcel = new QAxObject("Excel.Application");

通過進程獲取Excel工作簿集,語句為:

QAxObject *myworks = myexcel->querySubObject("WorkBooks");

其中,myworks是工作簿集的引用,用戶可根據需要定義其名稱,同樣,在程序中也要求引用一致。
有了Excel進程和工作簿集的引用,就可以使用它們對Excel進行一系列文檔級別的操作。
(2)獲取電子表格集。
每個Excel工作簿中都可以包含若干電子表格(Sheet),通過打開的當前工作簿獲取其所有電子表格的程序語句為:

QAxObject *mysheets = workbook->querySubObject("Sheets");

在獲取了電子表格集后,就可以像操作工作簿文檔那樣,對其中的表格執行各種操作。
(3)操作單元格及其數據。
對Excel的操作最終要落實到對某個電子表格單元格中數據信息的讀寫上,在Qt中的Excel單元格同樣是作為QAxObject對象來看待的,對它的操作通過其所在表格的QAxObject對象句柄執行,如下:

QAxObject *cell = sheet->querySubObject("Range(QVariant, QVariant)", 單元格編號); cell->dynamicCall("SetValue(const QVariant&)", QVariant(字符串));

這樣,就實現了對Excel各個級別對象的靈活操作和使用。
為避免資源無謂消耗和程序死鎖,通常在編程結束時還必須通過語句釋放該Excel進程所占據的系統資源,如下:

workbook->dynamicCall("Close()"); //關閉工作簿 myexcel->dynamicCall("Quit()"); //退出進程

2.操作Word的基本流程
Qt操作Word的基本流程如下:

(1)啟動Word進程、獲取Word文檔集。
創建Word進程使用如下語句:

QAxObject *myword = new QAxObject("Word.Application");

通過進程獲取Word文檔集,語句為:

QAxObject *mydocs = myword->querySubObject("Documents");

有了Word進程和文檔集的引用,就可以使用它們對Word文檔執行操作。
(2)獲取和操作當前選中的段落。
一個Word文檔由若干文本段落構成,通過文檔句柄可對當前選中的段落執行特定的操作,如下:

QAxObject *paragraph = myword->querySubObject("Selection");

下面舉兩個操作Word文檔段落的語句,如下:

paragraph->dynamicCall("TypeText(const QString&)", 字符串); //寫入文本字符串 paragraph = document->querySubObject("Range()"); //獲取文本 QString str = paragraph->property("Text").toString(); //讀出文本字符串

在使用完Word文檔之后也要進行釋放資源和關閉進程的善后處理,如下:

document->dynamicCall("Close()"); //關閉文檔 myword->dynamicCall("Quit()"); //退出進程02

總結

以上是生活随笔為你收集整理的QT学习:QAxObject对象访问的全部內容,希望文章能夠幫你解決所遇到的問題。

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