以文本方式查看主题

-  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=75796)

--  作者:hbhb
--  发布时间:2015/10/15 9:23:00
--  请教word报表
大师:如何把表a,生成word模板报表?如实例。
如何把表a,改成为一条记录的多列临时表后,再用模板?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目15.zip


--  作者:大红袍
--  发布时间:2015/10/15 9:53:00
--  

模板内容

 

[表A内容]

 

代码

 

 

Dim tm As String  = ProjectPath & "Attachments\\123.doc" \'指定模板文件
Dim fl As String = ProjectPath & "Reports\\123.doc" \'指定目标文件
Dim wrt As New WordReport(Tables("表A"),tm,fl) \'定义一个WordReport
Dim str As String = ""
For Each r As Row In Tables("表A").rows \'逐行生成报表
    For Each c As Col In Tables("表A").Cols
        str &= r(c.name) & "  "
    Next
    str &= vbcrlf
Next
wrt.Replace("[表A内容]",str)
wrt.Build
wrt.Show() \'显示报表

--  作者:hbhb
--  发布时间:2015/10/15 10:16:00
--  
还是不能生成一样的模板报表,模板是表格形式的,例子只是简化未制作为表格。
我现在就是要写一个函数,把狐表中的表,按如下参数转换为一条记录的临时表
1、参数1   狐表 如:表a
2、参数2  项目列 如:姓名列、部门列
3、参数3  数据列 如:工资、津贴(模板引用列)


--  作者:大红袍
--  发布时间:2015/10/15 10:19:00
--  
word报表没办法。你只能用excel报表。
--  作者:hbhb
--  发布时间:2015/10/15 10:23:00
--  
大师:转换后,原有表中的记录为列名后,列名太长,而引用该列名写不下如何办?如工资-中国齐齐哈尔大学教授大红袍大师,如何办?
--  作者:大红袍
--  发布时间:2015/10/15 10:25:00
--  
不明白你什么意思
--  作者:hbhb
--  发布时间:2015/10/15 10:44:00
--  
能否这样转换,原来记录
姓名                                      工资
张三                                      1000
王五                                      1500
李四                                      2000
中国齐齐哈尔大学教授大红袍大师     100000
转换为如下临时表 ,再根据此表设置模板。红色列名太长
张三工资  王五工资 李四工资   中国齐齐哈尔大学教授大红袍大师 
1000       1500    2000                 10000


--  作者:大红袍
--  发布时间:2015/10/15 10:47:00
--  

可以这样,写不写什么意思啊,列名不限制啊


--  作者:hbhb
--  发布时间:2015/10/15 11:02:00
--  
就是设置模板时,如:

姓名                                                         工    资     
中国齐齐哈尔大学教授大红袍大师   [中国齐齐哈尔大学教授大红袍大师工资]      引用的列名超出表格线,怎么办?  

--  作者:大红袍
--  发布时间:2015/10/15 11:04:00
--  

可以不固定表格的宽度啊,也可以固定表格宽度,然后用自适应控制字体啊