在很多的情况下,我们需要将书局窗口中的数据保存为其他应用程序的格式(比如: 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