以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]word模板遇到难题了!!  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=48223)

--  作者:hrw68529
--  发布时间:2014/3/25 14:20:00
--  [求助]word模板遇到难题了!!
想写一个报告,报告下方要附一个表,如:姓名,职务等,但现在是根据一行生成一个报告,我想要的是:在一个报告内,红字的内容是根据表格每行内容生成的,不要一行生成一个报告,怎么办,求助!!!!!


各县、区人民政府,各管理区、开发区,市政府各部门

市政府研究决定:

***同志任人口和计划生育委员会副主任;

免去***同志物价管理办公室副主任职务;

***同志任公安交通警察支队支队长;

免去***同志重点项目办公室副主任职务;

***同志任物价管理办公室副主任;



--  作者:狐狸爸爸
--  发布时间:2014/3/25 14:27:00
--  

用标记:
 
http://www.foxtable.com/help/topics/2890.htm

 
例如
 
Dim tm As String  = ProjectPath & "Attachments\\模版.doc"
Dim fl As String = ProjectPath & "Reports\\模版.doc"
Dim wrt As New WordReport(Tables("表"),tm,fl) \'定义一个WordReport
wrt.Replace("[列表]",DataTables("表").GetComboListString("列").Replace("|",vbcrlf))
wrt.Build() \'生成报表
wrt.Show() \'显示报表


--  作者:hrw68529
--  发布时间:2014/3/25 14:46:00
--  
狐爸,wrt.Replace("[列表]",DataTables("表").GetComboListString("列").Replace("|",vbcrlf)) 
内容是由[姓名]&[职务]组合的,怎么弄,如:***同志任人口和计划生育委员会副主任;***同志在姓名列人口和计划生育委员会副主任在职务列,怎么改

--  作者:hrw68529
--  发布时间:2014/3/25 14:47:00
--  
组合我已经弄了,改上述代码,组合表达式为:<IIF([拟免职务空], "免去" &[姓名] & "同志" & [拟免职务] & ";", [姓名] & "同志"  & "" & [拟任职务] & ";")>


--  作者:狐狸爸爸
--  发布时间:2014/3/25 14:51:00
--  

那就逐行组合合并:

 

dim s as string

for Each dr as datarow in datatables("xxx").datarows

   if s > ""  then

      s = s & vbcrlf

   end if

   s = s & dr("列1") & dr("列2")

next


--  作者:hrw68529
--  发布时间:2014/3/25 14:56:00
--  
wrt.Replace("[列表]",DataTables("表").GetComboListString("列").Replace("|",vbcrlf)) ,列表是表的列字段吗,
--  作者:Bin
--  发布时间:2014/3/25 15:01:00
--  
你没搞清楚GetComboListString的作用吧http://www.foxtable.com/help/topics/1435.htm

要获得所有列

应该这样
dim s as string

for each dc as datacol in DataTables("表").datacols
      s= s & dc.name & vbcrlf
next


--  作者:狐狸爸爸
--  发布时间:2014/3/25 15:02:00
--  

就是你在模版中插入的[列表],就和普通的[单价]、[单位]一样,你可以取任何名称,在生成报表前替换即可,例如[xxx]都行。

 

请认真看一下:

http://www.foxtable.com/help/topics/2890.htm

 

 

说道底,在模板中无法通过表达式实现的计算,就插入一个标记,在生成模版前,用代码生成内容替换掉模版中的标记。

[此贴子已经被作者于2014-3-25 15:14:14编辑过]

--  作者:hrw68529
--  发布时间:2014/3/25 15:31:00
--  
谢谢


--  作者:hrw68529
--  发布时间:2014/3/26 9:33:00
--  
狐爸,根据你给的思路和代码,生成了报告,但有一个问题,生成的从第二行之后,不能和第第一行左对齐,这是怎么回事,请看:红色的部分不能和加黑的一行左对齐。

各县、区人民政府,各管理区、开发区,市政府各部门

市政府研究决定:

   黄荣武同志任信阳市人社局科长;

刘去同志任信阳市人社局科长,免去其信阳市人社局局长职务;

大家同志任信阳市人社局科长;

周老大同志任信阳市人社局科长;

免去王家银同志信阳市人社局局长职务;