Foxtable(狐表)用户栏目专家坐堂 → 请教:在调用Excel模板打印报表时怎样打印一个表中不连续的多行?


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

主题:请教:在调用Excel模板打印报表时怎样打印一个表中不连续的多行?

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


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
请教:在调用Excel模板打印报表时怎样打印一个表中不连续的多行?  发帖心情 Post By:2010/4/23 20:49:00 [只看该作者]

   如题,在以前的时候,我记得使用Excel模板打印时,只能在表中选定连续的多行(手工选定或者用代码选定),然后再调用模板打印。若果要打印不连续的多行,就必须先筛选出想要打印的行,然后再选定筛选出的所有行。

   总感觉这样比较麻烦,也比较别扭。现在又几个月过去了,是不是能有更简便的方法来实现这个功能?即在调用Excel模板的时候,直接利用表中符合条件的不连续的多行生成EXCEL报表?
 

 回到顶部
帅哥,在线噢!
程兴刚
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7249 积分:40710 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2010/4/23 21:05:00 [只看该作者]

模板里面加入筛选条件。


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


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2010/4/23 22:48:00 [只看该作者]

仍然有个问题,一个模板中设置的筛选条件是相对固定的,用代码改非常麻烦!

但实际情况是,对于同一个模板文件,每次打印的行是不同的,筛选条件不是固定的。总觉得应该有简便的解决办法。

如果在调用模板生成报表之前能够设定条件(即生成的报表包括哪些行),就比较方便了。在帮助中没有查到怎样设置。

例如:我要打印Table中选择框选中的行,调用Excel模板生成报表,该怎么实现?

[此贴子已经被作者于2010-4-23 23:23:37编辑过]

 回到顶部
帅哥,在线噢!
程兴刚
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7249 积分:40710 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2010/4/24 0:15:00 [只看该作者]

暂时采用多模板解决!


 回到顶部
帅哥,在线噢!
程兴刚
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7249 积分:40710 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2010/4/24 0:19:00 [只看该作者]

建议贺老师,在文章套打里面给一个Save()方法,这样多条件打印就好办了,直接套打excel并替换条件、保存为新模板、继续打印模板文件,一气呵成!

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33951 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/4/24 1:14:00 [只看该作者]

Excel可以使用事件,上述要求好象不是问题吧

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33951 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/4/24 1:55:00 [只看该作者]

以下是引用cpayinyuan在2010-4-23 22:48:00的发言:

仍然有个问题,一个模板中设置的筛选条件是相对固定的,用代码改非常麻烦!

但实际情况是,对于同一个模板文件,每次打印的行是不同的,筛选条件不是固定的。总觉得应该有简便的解决办法。

 


如果是这种条件根本就无需怎么设置,在模板中加入<ALL>,筛选后打印报表自然就是表中筛选的结果。


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


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2010/4/24 6:58:00 [只看该作者]

以下是引用czy在2010-4-24 1:55:00的发言:


如果是这种条件根本就无需怎么设置,在模板中加入<ALL>,筛选后打印报表自然就是表中筛选的结果。

     例如我要打印Table中选择框选中的行,调用Excel模板生成报表。目前的实现方法是,先把表中筛选一下,只保留选择框选中的行,然后打印,打印后再恢复没筛选之前的表,这样的实现方法虽然可以实现,但比较曲折,比较麻烦。
     我是想知道,有无简便的办法,直接根据Table中符合条件的行,或者根据一个行集合,生成Excel报表(好像目前生成Excel报表都是根据表中的选择区域生成的)。


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57602 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2010/4/24 7:11:00 [只看该作者]

  我现在采用的利用LOA加载所需数据,然后利用全选代码选定区域打印.

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


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2010/4/25 7:17:00 [只看该作者]

     其实我们换个角度来解决问题,也完全可以,甚至更简单。在利用Excel模板生成报表的时候,我们都是先用select选定表的一块连续的区域,例如:tt.Select(0,1,tta.Rows.Count-1,tta.cols.count-1),然后再定义Book,定义Sheet,最后利用Book的Build方法生成报表。

   目前利用Table的select方法只能在表中选定一块连续的区域,进而生成Excel报表。目前的Excel报表本身的功能已经非常强大,但如果这一点不解决,会限制Excel报表的方便性!这种需求是很常用的,例如打印员工档案卡的时候,我不一定非要打印连续的多张,可能我需要打印符合一定条件的几张,或者我用表的复选框根据需要选几张打印。目前我每次都要先筛选一下,然后用select选定筛选后的所有行,而且这样打印后还要再重新再恢复打印前的筛选条件,不但罗索,而且会影响执行的效率!我想知道,有没有办法选定不连续的区域,例如:选择符合一定筛选条件的行,或者选择复选框被选中的行,然后利用这些行生成Excel报表?不知这样是否容易实现?
   
[此贴子已经被作者于2010-4-25 7:22:25编辑过]

 回到顶部
总数 15 1 2 下一页