麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 課堂 > 技術開發 > 正文

將powerbuilder中的數據傳送到Excel中的方法

2023-06-15 12:14:58
字體:
來源:轉載
供稿:網友

很多時候在PowerBuilder中的數據需要傳送到Excel中進行處理或打印,那么如何把PowerBuilder中的數據傳動到Excel中呢,本文就介紹了相關的方法及要使用到的函數。

PowerBuilder是面向對象的數據庫開發工具之一,它可以操縱很多大型數據庫和桌面數據庫,但它對中國式報表打印不太方便,而 Excel對此卻非常容易,若把兩者結合起來使用則可取長補短。

建立一個Excel工作表如圖1,以mxz.xls為文件名保存。

然后編寫腳本如下并執行:

long handle_1
handle_1=openchannel(″excel″,″mxz.xls″) //建立與Excel的通道
setremote(″r2c1″,″序號″,″excel″,″mxz.xls″)
setremote(″r2c2″,″摘要″,″excel″,″mxz.xls″)
setremote(″r2c3″,″收入″,″excel″,″mxz.xls″)
setremote(″r2c4″,″支出″,″excel″,″mxz.xls″)
setremote(″r2c5″,″余額″,″excel″,″mxz.xls″)
setremote(″r2c6″,″日期″,″excel″,″mxz.xls″)
execremote(″[Save()]″,″excel″,″xmk.xls″)

上述腳本執行后,再打開mxz.xls,它變成了如圖2的模樣:

其實,這段腳本用到了三個DDE客戶函數:OpenChannel()、SetRemote()和ExecRemote(),其實,掌握了這三個DDE函數,就可以隨心所欲地寫出打印功能十分強大的PowerBuilder數據庫程序來。

1、OpenChannel()   它的功能是打開連接DDE服務器的通道。

語法 OpenChannel ( applname, topicname {, windowhandle } )

參數 applname:string類型,指定DDE服務器應用的DDE名稱。

topicname:string類型,指定ming令中要使用的DDE應用的數據或實例。

windowhandle:long類型,可選項,指明用作DDE客戶的PowerBuilder窗口的窗口句柄。省略該參數時,當前應用中的活動窗口用作DDE客戶。

返回值 long類型。

函數執行成功時返回一個正數作為已打開通道的句柄,發生錯誤時返回下述值之一:

 -1打開失敗。

-9句柄為NULL。

示例:下面的代碼建立到Excel的DDE通道,之后請求三個單元格的數據,并把這些數據保存在數組s_regiondata中。DDE會話的客戶端窗口為w_ddewin:

long handle
string s_regiondata[3]
handle = OpenChannel(″Excel″, ″REGION.XLS″, Handle(w_ddewin))
GetRemote(″R1C2″, s_regiondata[1], handle, Handle(w_ddewin))
GetRemote(″R1C3″, s_regiondata[2], handle, Handle(w_ddewin))
GetRemote(″R1C4″, s_regiondata[3], handle, Handle(w_ddewin))
CloseChannel(handle, Handle(w_ddewin))

2、SetRemote()   功能是請求服務器應用把指定項設置為指定值。該函數有兩種語法格式,下面分別予以介紹:

(1)語法一,請求DDE服務器應用接收保存在指定位置的數據,該格式不要求事先打開通道,適用于僅發出少數幾個請求的情況。

SetRemote ( location, value, applname, topicname )

參數

location:string類型,指明要DDE服務器的哪一部分接收數據,位置的表達方式由具體的DDE服務器決定。

value:string類型變量,指定發送給DDE服務器的數據。

applname:string類型,指定DDE服務器應用的DDE名稱。

topicname:string類型,指定要接收數據的DDE應用的數據或實例。

返回值 integer類型。函數執行成功時返回1,發生錯誤時返回下述值之一:

-1未啟動連接。

-2請求被拒絕,如果任何參數的值為NULL,SetRemote()函數返回NULL。

示例:下面的代碼請求Excel把工作表SALES.XLS的第5行第8列單元的值設置為5500:

SetRemote(″R5C8″, ″5500″, ″Excel″, ″SALES.XLS″)  

(2)語法二,請求DDE服務器應用接收保存在指定位置的數據,該格式適用于熱連接的情況,即應用程序已經與服務器建立通道。

SetRemote ( location, value, handle {, windowhandle } )

參數 location:string類型,指明要DDE服務器的哪一部分接收數據。位置的表達方式由具體的DDE服務器決定。

 value:string類型變量,指定發送給DDE服務器的數據。

handle:long類型,指定使用的DDE通道句柄。

windowhandle:long類型,可選項,指明用做DDE客戶的PowerBuilder窗口的窗口句柄。省略該參數時,當前應用中的活動窗口用做DDE客戶。

返回值 integer類型。函數執行成功時返回1,發生錯誤時返回下述值之一:

-1未啟動連接。

-2請求被拒絕。

-9 Handle參數的值為NULL。

示例:下面的代碼先打開一個通道,然后請求Excel將第5行第8列單元的值設置為5500:

long hand
        lehandle = OpenChannel(″Excel″, ″REGION.XLS″)
        SetRemote(″R5C8″, ″5500″, handle)

3、ExecRemote()

它的功能是請求DDE服務器應用程序執行ming令。該函數也有兩種語法格式,下面分別予以介紹。

(1)語法一,直接向DDE服務器應用發送一條ming令(冷連接方式);

ExecRemote ( command, applname, topicname )

參數  command:string類型,其值為希望DDE服務器應用執行的ming令,ming令格式和語法需要參看DDE服務器應用的文檔

applname:string類型,指定服務器應用的DDE名稱。

topicname:string類型,指定ming令中要使用的DDE應用的數據或實例返回值Integer。函數執行成功時返回1,發生錯誤時返回下述值之一:

-1未啟動連接。

-2請求被拒絕。

-3不能終止服務器。

如果任何參數的值為NULL,ExecRemote()函數返回NULL。

示例:下面的語句請求Excel將活動工作表的內容保存到文件REGION.XLS中:

ExecRemote(″[Save()]″, ″Excel″, ″REGION.XLS″)

(2)語法二,應用程序打開某個通道后向DDE服務器應用發送ming令(熱連接方式)

ExecRemote ( command, handle {, windowhandle } )

參數

command:string類型,其值為希望DDE服務器應用執行的ming令,ming令格式和語法需要參看DDE服務器應用的文檔

handle:long類型,指定使用的DDE通道句柄

windowhandle:long類型,可選項,指明用做DDE客戶的PowerBuilder窗口的窗口句柄。省略該參數時,當前應用中的活動窗口用做DDE客戶,返回值integer。函數執行成功時返回1,發生錯誤時返回下述值之一:

 -1未啟動連接。

-2請求被拒絕

-9handle參數的值為NULL。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 一级黄色大片在线观看 | 99热高清 | 国产精品久久久久久久久久久久久久久久 | 久久av免费 | 欧美自拍| 日日狠狠久久偷偷四色综合免费 | 视频一区国产 | 色吧久久| 91成人久久 | 精品久久久久久久久中文字幕 | 免费国产在线视频 | 国产小视频在线 | 91久久夜色精品国产网站 | 国产亚洲精品美女久久久 | 萌白酱福利视频在线网站 | 成人黄色短视频在线观看 | 免费一级欧美大片视频在线 | 国产午夜精品一区二区三区嫩草 | 2019亚洲日韩新视频 | 羞羞视频免费入口网站 | 7777视频| 国产一级免费电影 | 性片免费看 | 91成人在线免费观看 | 蜜桃久久一区二区三区 | 91一区二区三区久久久久国产乱 | 国产午夜三级一区二区三桃花影视 | 久久精品a一级国产免视看成人 | 99国语露脸久久精品国产ktv | 久久国语对白 | 色综合狠狠 | 久久久久久久久日本理论电影 | 国产一区二区二 | 欧美成年性h版影视中文字幕 | 成人男女激情免费视频 | 国产欧美精品综合一区 | 玖玖精品视频在线 | 精品国产观看 | 在线看小早川怜子av | 欧美成人高清在线 | 成人福利视频在 |