以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]逐行生成word报表时,如果该行无数据,就删除该行  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=89554)

--  作者:jyh7081
--  发布时间:2016/8/24 13:01:00
--  [求助]逐行生成word报表时,如果该行无数据,就删除该行
根据说明中的代码,如果遇到,逐行生成word报表时,表中无该行数据,那么就删除该行,需要怎样改动?

  Dim tm As String  = ProjectPath & "Attachments\\出库单.doc" \'指定模板文件
    Dim 
fl As String = ProjectPath & "Reports\\出库单.doc" \'指定目标文件
    Dim 
wrt As New WordReport(Tables("出库"),tm,fl\'定义一个WordReport
    For Each 
dr As DataRow In drs \'逐行生成报表
        
wrt.BuildOne(dr)
    Next
    
wrt.Show() \'显示报表
End If

--  作者:大红袍
--  发布时间:2016/8/24 14:04:00
--  
 什么叫做表中没此行数据啊。如果是之前的问题,已经回复了你啊。
--  作者:jyh7081
--  发布时间:2016/8/24 14:44:00
--  
版主,您是回复我了,还让我看这段代码,但我看了两天,也没有思路。
我的意思是在生成word报表时,如果word模板中的引用标记[XX]所对应的foxtable的表中没有数据,那么就删除这一行。如果不删除,就会在word报表中留下一个带回车符的空行。
我不知道模板中的引用标记[XX]是什么对象,用什么指向它,另外,是不是还要遍历它对应的列有无数据,再做个判断......这些对我来说太难了,所以請版主帮助。

--  作者:大红袍
--  发布时间:2016/8/24 14:47:00
--  
 之前那个实例,已经做给你了啊。
[此贴子已经被作者于2016/8/24 14:47:19编辑过]

--  作者:大红袍
--  发布时间:2016/8/24 14:49:00
--  

[xxx] 只是一个标记啊,你可以替换成任意字符啊

 

http://www.foxtable.com/webhelp/scr/2890.htm

 


--  作者:jyh7081
--  发布时间:2016/8/24 15:47:00
--  
是呀,版主,那个实例没有删除掉word报表中的空行,所以才又问的。可能我表达的有问题,我主要是想删除掉成品word报表中的空行。谢谢!
--  作者:大红袍
--  发布时间:2016/8/24 16:17:00
--  

 没办法,模板那里是固定的,只能替换掉内容,不能删除内容。

 

 要不你就自己一个一个的往word填入字符 http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=70762&skin=0