Foxtable(狐表)用户栏目专家坐堂 → [求助]word报表中如何根据文本列的文本内容插入相应的签名图片


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

主题:[求助]word报表中如何根据文本列的文本内容插入相应的签名图片

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


加好友 发短信
等级:四尾狐 帖子:977 积分:6835 威望:0 精华:0 注册:2012/4/2 21:49:00
[求助]word报表中如何根据文本列的文本内容插入相应的签名图片  发帖心情 Post By:2015/3/31 16:32:00 [显示全部帖子]

在管理表中有“审核人”列,审核人为“张三”、“李四”这样的文本内容,而不是签名图片,现在要根据“张三”、“李四”自动调用相应的签名图片“张三.jpg”、“李四.jpg”插入到word表中。请问该如何实现?谢谢!


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


加好友 发短信
等级:四尾狐 帖子:977 积分:6835 威望:0 精华:0 注册:2012/4/2 21:49:00
  发帖心情 Post By:2015/4/1 21:33:00 [显示全部帖子]

1、甜版的方法在帮助中有介绍,虽然可行,但实在不想增加图片列,这样数据库会很大,也不好看。我的考勤管理系统中都用字符型签字,最后的请假条、考勤表、出差费汇总表、加班费汇总表等用专业报表打印签名。

2、现在想用word报表打印考核管理系统的考核表,将“考核人”单元格公式用[&&<[考核人]>.png,53,40]不行。

3、按bin版主的下列思路结果还是与[&&<[考核人]>.png,53,40]一样,单元格仅变成了[&&张三.png,53,40],还是停留在模板阶段:

    Dim tm As String  = ProjectPath & "Attachments\考核表.doc"
    Dim fl As String = ProjectPath & "Reports\考核表.doc"
    Dim wrt As New WordReport(Tables("考核管理"),tm,fl) 
    Dim tp As String
    For Each r As Row In Tables("考核管理").rows
         tp = "[&&" & r("考核人") & ".png,53,40]"
         wrt.ReplaceOne("[考核人]",tp)
         wrt.BuildOne(r)
    Next
    wrt.show()

4、下列语句为什么不会变换图片呢?

    For Each r As Row In Tables("考核管理").Rows
        wrt.ReplaceWithImage("[考核人]",r("考核人") & ".jpg",53,40)
        wrt.buildone(r)
    Next

 

难道真的只能用专业报表了吗?


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


加好友 发短信
等级:四尾狐 帖子:977 积分:6835 威望:0 精华:0 注册:2012/4/2 21:49:00
  发帖心情 Post By:2015/4/2 12:29:00 [显示全部帖子]

甜版:

第4条的图片是显示的,但经过测试,不管其他行的“考核人”是谁,即不管r("考核人")的值是什么,用的都是第一行“考核人”的图片。

word报表真的需要完善。


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


加好友 发短信
等级:四尾狐 帖子:977 积分:6835 威望:0 精华:0 注册:2012/4/2 21:49:00
  发帖心情 Post By:2015/4/2 15:26:00 [显示全部帖子]

甜版:经过测试,真的是可能的。规律如下:

1、只要图片文件与项目文件在同一个文件夹就可以,无需指定路径,根本不是必须在某个其它文件夹中。

2、只要第一个图片不存在,以后的图片就都不显示,但文字内容不变。

3、只要第一个图片存在,以后的图片就都不会改变,不管以后的图片是否存在。

 

你可以用一个单元格的模板文件、一列数据的表格、一张图片就可以测试。

 

[此贴子已经被作者于2015/4/2 15:26:35编辑过]

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


加好友 发短信
等级:四尾狐 帖子:977 积分:6835 威望:0 精华:0 注册:2012/4/2 21:49:00
  发帖心情 Post By:2015/4/2 20:18:00 [显示全部帖子]

针对现实的应用和ReplaceWithImage存在的上述问题,希望狐爸能对ReplaceWithImage做些改进,

因为ReplaceWithImage查找的字符串肯定是具体的某列,而不会是某个具体的值,

例如,应该是[考核人]列,而不会是“张三”值,因为“张三”值可能出现在[姓名]、[经办人]、[审批人]、[审核人]列,但这些列都不是要替换的对象。

而用于替换的图片肯定与查找的字符串有关,

例如,查找“张三”值肯定是要用“张三”的图片,如果要用“李四”的图片,正常情况下应会先批量更改“张三”值为“李四”值,再将“李四”值替换为“李四”的图片。


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


加好友 发短信
等级:四尾狐 帖子:977 积分:6835 威望:0 精华:0 注册:2012/4/2 21:49:00
  发帖心情 Post By:2015/4/4 17:17:00 [显示全部帖子]

以下是引用jspta在2015/4/4 11:49:00的发言:
就这个二进制文件结构设计本身就是不合理的!完全用单表结构设计,对数据库而言完全错误,虽然看似简单实用,但是仅仅针对的是单个文件的管理,灵活性差。设计成多文件管理才是根本解决方案,不用也罢

你理解错了。这里的[考核人]是“考核负责人”,公司领导分工负责各自分管的部门考核,在[考核结果]中选“优秀/良好/合格/不合格”后,自动在[考核人]列填入当前用户名([考核人])和当前日期([考核日期]),在生成、打印word考核表时自动将字符型的[考核人]替换为其签名图片。不需要多表吧?也不需要多文件吧?更不需要其它类型的字段吧?关键是狐表提供的方法有问题吧?


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


加好友 发短信
等级:四尾狐 帖子:977 积分:6835 威望:0 精华:0 注册:2012/4/2 21:49:00
  发帖心情 Post By:2015/5/9 13:00:00 [显示全部帖子]

以下是引用wusim在2015/4/29 21:57:00的发言:
请问shenyl0211 签名问题解决没有

没有解决,只能用专业报表了


 回到顶部