怎样将报表的数据窗,保存为Word可以打开的文件
编号:QA002271
建立日期: 1999年12月17日 最后修改日期:1999年12月17日
所属类别:
方凯:
操作系统:pwin98
编程工具:PB
问题:请问怎样将报表的数据窗,保存为Word可以打开的文件(含有报表头)。感谢!感谢
回答:
可以对数据窗口逐行读出并写到WORD文本中.
例如:
DataWindow的列为: Containerno,Mastercode,Truckno,Worktype,Worktime
定义变量名:
Integer li_FileNum,li_next,li_row (li_row 为数据窗的行数)
string ls_next[],ls_filename (ls_filename是你要保存的WORD文本名)
ls_filename = "D:\Fjq.doc"
li_FileNum = FileOpen(ls_filename,.....)
IF li_FileNum = 1 THEN....
报头:
FileWrite(li_FileNum,"XXX报表")
FileWrite(li_FileNum,' '+ String(Today(),'yyyy/mm/dd'))
数据:
li_row = dw_1.Rowcount()
For li_next = 1 To li_row (从DW_1的第一行到最后一行,将列值逐行附给ls_next[])
ls_next[1] = dw_1.object.Containerno[li_next]
ls_next[2] = dw_1.object.Mastercode[li_next]
ls_next[3] = dw_1.object.Truckno[li_next]
ls_next[4] = dw_1.object.Worktype[li_next]
ls_next[5] = dw_1.object.Worktime[li_next]
(注意:列值不能为空,若为空则先判断,后给ls_next[]附空串或其他字符。)
FileWrite(li_FileNum,ls_next[1]+ls_next[2]+...+...)
NEXT
另外:如果数据窗经过分组,则:
integer li_headposition,li_grouptotal (其中li_headposition为每组的开始行号,即该行在整个数据窗中的行号,li_grouptotal为该组的记录条数)
li_headposition = 1
li_grouptotal = 0
lab:
用SQL语句计算出符合条件的记录数 li_grouptotal
上面的FOR语句的条件该为:
FOR li_next = li_headposition to li_headposition + li_grouptotal - 1
....
FileWrite(li_FileNum,ls_next[1]+.....)
NEXT
IF li_headposition + li_grouptotal -1 < dw_1.rowcount() THEN
li_headposition = li_headposition + li_grouptotal
goto lab
END IF
此问题由nt container回答。
| |
|
|
| |
|
|