以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关于在Excel报表的标签打印中使用表达式的一个问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=23916) |
-- 作者:bjljb -- 发布时间:2012/9/24 12:11:00 -- 关于在Excel报表的标签打印中使用表达式的一个问题 我想利用Excel报表的标签打印功能实现如下效果: (办公室) 张三 (一车间) 李四 (二车间) 王五
在模板中的表达式设置如下: <"("&[部门名称]&")"&[姓名]> <"("&[部门名称+1]&")"&[姓名+1]> <"("&[部门名称+2]&")"&[姓名+2]>
生成的打印结果却是: (办公室) 张三 () ()
也就是说,[部门名称+1] 、 [姓名+1] 、[部门名称+2] 、 [姓名+2] 这几个表达式没有能够进行正常的数据引用。
请问:这个问题该如何解决? |
-- 作者:lin_hailun -- 发布时间:2012/9/24 15:45:00 -- 不知是不是这个原因。 由于同一个细节区不再是对应一个数据行,而是对应多个数据行,所以在定义细节区的时候,要增加一个参数,用于指定每个细节区对应的数据行数,这个参数以符号@开头: <表名, @3> [此贴子已经被作者于2012-9-24 15:45:18编辑过]
|
-- 作者:bjljb -- 发布时间:2012/9/24 16:03:00 -- 这个参数我已经加了,当我把 [部门名称] 和 [姓名] 在同一个细节区分两行打印的时候,没有问题,[部门名称+1] 、 [姓名+1] 、[部门名称+2] 、 [姓名+2] 这几个表达式都可以正常引用数据,但由于受标签纸尺寸的限制,我需要把这两个内容放到同一行打印,用表达式来进行连接的时候,上述问题就出现了。
简而言之,这个问题就是:类似于 [姓名+1] 、[姓名+2] 这样的数据引用方式在表达式中如何实现? |
-- 作者:lin_hailun -- 发布时间:2012/9/24 18:12:00 -- 测试了一下,表达式不支持+1操作。 也就是说,你需要把原来的表达式分成几列显示。如: ( [部门名称+1] ) [姓名+1] 总共4列 |
-- 作者:bjljb -- 发布时间:2012/9/24 18:21:00 -- 我用了一个变通的办法把问题解决了: 增加一个 [姓名带部门] 列,用易表或Excel把部门和姓名组合成需要的样式(这个就非常简单了),然后在打印模板中直接引用 [姓名带部门]、[姓名带部门+1]、[姓名带部门+2] 就可以了。 |
-- 作者:ahbzczy -- 发布时间:2012/9/24 18:38:00 -- <"("&[部门名称]&")"&[姓名]> <"("& *[部门名称+1]* &")"& *[姓名+1]*> <"("&*[部门名称+2]*&")"&*[姓名+2]*>
这种跨行引用数据的格式参与表达式计算的时候,也必须用符号*括起来,例如: <IIF(*[数量+1]* > 100, *[数量+1]*, 0)> [此贴子已经被作者于2012-9-24 18:38:43编辑过]
|
-- 作者:bjljb -- 发布时间:2012/9/24 18:42:00 -- 以下是引用lin_hailun在2012-9-24 18:12:00的发言:
测试了一下,表达式不支持+1操作。 也就是说,你需要把原来的表达式分成几列显示。如: ( [部门名称+1] ) [姓名+1] 总共4列
非常感谢!但这样做会增加打印模板的复杂程度,尤其在打印标签的时候,通常都是非常细微地调整各种间距,增加一列必然会影响其后所有列的定位。
希望老六尽快解决这个问题! |
-- 作者:bjljb -- 发布时间:2012/9/24 18:58:00 -- 以下是引用ahbzczy在2012-9-24 18:38:00的发言:
<"("&[部门名称]&")"&[姓名]> <"("& *[部门名称+1]* &")"& *[姓名+1]*> <"("&*[部门名称+2]*&")"&*[姓名+2]*>
这种跨行引用数据的格式参与表达式计算的时候,也必须用符号*括起来,例如: <IIF(*[数量+1]* > 100, *[数量+1]*, 0)> [此贴子已经被作者于2012-9-24 18:38:43编辑过]
此为正解!
非常感谢!
已经测试通过。 |
-- 作者:lin_hailun -- 发布时间:2012/9/24 23:59:00 -- 呵呵,学习... |