在很多的情況下,我們需要將書局視窗中的資料儲存為其他應用程式的格式(比如: MS Excel, Word, email 等).為此Powerbuilder提供了SaveAs函數,然而使SaveAs儲存資料視窗為Execl格式時有一些缺點,就是它無法儲存我們所見到的格式,一些圖形、交叉報表、計算域等等都被丟棄,它僅僅儲存了資料視窗buffer中的資料。為了輸出交叉報表、組、和計算域等等可視的資料, PowerBuilder 6.5 (after build 444) 提供了新的函數解決這些缺陷,它是:SaveAsAscii()函數。它允許輸出資料視窗的可視部分為文字格式設定,組、交叉報表、計算域等被儲存為輸出資料的一部分。下面討論該函數:
描述:將資料視窗或資料存放區中的內容儲存為ASCII文字檔
適用於:資料視窗和 DataStore對象
符號:
dwcontrol.SaveAsAscii ( filename {, separatorcharacter {, quotecharacter {, lineending } } } )
其中:
dwcontrol 位元據視窗或DataStore的名字
filename :要儲存的檔案名稱;
separatorcharacter (optional) :分割各個資料的字串,預設為tab
quotecharacter (optional) :包圍值的字串,預設為空白;
lineending (optional) :放在每行末尾的字串,預設為斷行符號 character (~r~n)
下面的例子顯示將資料視窗中的資料儲存到檔案monthly.txt,每個資料以'|' 分割
dw_4.saveasascii("monthly.txt","|")
在資料之間使用分割符是比較好的注意,因為預設的tab字元可能會在匯入excel時出問題。在匯入Excel時他會提示您,您資料中使用何種分割符。本文來自http://bianceng.cn(編程入門)
為了匯入到 Excel, 只需在中Excel開啟檔案,您可能會看到一個wizard視窗 定義正確的分割符即可。下例顯示一個用saveasascii()函數匯出的檔案,使用SaveAs函數時是不可能有如此結果的。
Dept Id
Manager Id 100 200 300 400 500
501 1090
703 868
902 1039 1576
1293 902 1390
1576 1191