Foxtable(狐表)用户栏目专家坐堂 → word报表如何实现依次生成数据


  共有3160人关注过本帖树形打印复制链接

主题:word报表如何实现依次生成数据

帅哥哟,离线,有人找我吗?
大红袍
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/10 22:40:00 [显示全部帖子]

 word不行,需要有一个过渡表。

 

 比如弄一个表,表D,列1,列2,列3,列4,列5,列6,列7,列8

 

 选中表A,点击生成报表前,把数据填充到表D,然后模板根据表D设计。


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/10 22:48:00 [显示全部帖子]

以下是引用zhuzhi在2015/6/10 22:47:00的发言:
也就是说要先有一个excel过渡表是吗?呜呜呜,那我之前白花时间了……

 

我的意思是,你要多加一个表,才行。

 

具体可以上传例子。


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/10 23:21:00 [显示全部帖子]

word如果要做这种效果。先要加一个表,把8行的内容,填充到表的一行里面去。

 

然后根据新表设计报表即可。


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/11 9:20:00 [显示全部帖子]

 我已经叫你弄一个新的表了啊,8行的内容,写到一行里面去,如 列1,列2,列3,列4,列5,列6,列7,列8

 

 如果觉得麻烦,你可以用excel模板来做,word做起来麻烦。


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/11 10:02:00 [显示全部帖子]

以下是引用monvzhilei在2015/6/11 9:55:00的发言:

大红包版主啊。  用excel做的模板。他说做不到这个效果。我也测试 了一下。貌似也有点问题。具体可以看我上几楼的附件 。

 

Excel不可能做不到,只有word做不到(必须通过变通的方法来做)

 

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

 


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/11 10:14:00 [显示全部帖子]

  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:word报表依次打例子.rar


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/11 14:39:00 [显示全部帖子]

参考代码

 

Dim tm As String  = ProjectPath & "Attachments\依次打例子.doc" '指定模板文件
Dim fl As String = ProjectPath & "Reports\依次打例子.doc" '指定目标文件
Dim wrt As New WordReport(Tables("表A"),tm,fl) '定义一个WordReport
For i As Integer = Tables("表A").TopPosition To Tables("表A").BottomPosition
    wrt.Replace("[姓名" & i-Tables("表A").TopPosition+1 & "]", Tables("表A").Rows(i)("姓名"))
    wrt.ReplaceWithImage("[图片" & i-Tables("表A").TopPosition+1 & "]", ProjectPath & "Attachments/" & Tables("表A").Rows(i)("图片").trim(chr(10)).split(chr(13))(0),100,75)
Next
wrt.Build() '生成报表
wrt.Show() '显示报表
 

 

 

ReplaceWithImage 方法,将指定的内容替换为图片,语法:

ReplaceWithImage(findstr,imagefile,width,height)

findstr: 字符型,指定要查找的内容
imgefile:字符型,用于替换的图片文件
width: 整数型,指定图片宽度
height:整数型,指定图片高度

 

[此贴子已经被作者于2015/6/11 14:39:36编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/11 15:04:00 [显示全部帖子]

1、模板那里,像 姓名 一样,改成 姓名1、姓名2这样,改成 图片1、图片2......

 

2、运行代码即可。


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/11 17:40:00 [显示全部帖子]

 没必要一定要存到 Attachments 文件夹下

 

 红色代码的是可以改的

 

wrt.ReplaceWithImage("[图片" & i-Tables("表A").TopPosition+1 & "]", ProjectPath & "Attachments/" & Tables("表A").Rows(i)("图片").trim(chr(10)).split(chr(13))(0),100,75)


 回到顶部