Foxtable(狐表)用户栏目专家坐堂 → EXCEL模板打印


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

主题:EXCEL模板打印

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


加好友 发短信
等级:幼狐 帖子:166 积分:1527 威望:0 精华:0 注册:2013/1/26 14:43:00
EXCEL模板打印  发帖心情 Post By:2013/7/31 13:42:00 [只看该作者]

通过设置EXCEL模板打印的方式,用表格本身的页眉设置当前页数和总页数会打印不出来,因为不够地方,我想问题一下,可以直接在EXCEL上通过代码实现当前页数和总页数吗?

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/7/31 14:54:00 [只看该作者]

这个好像不行.

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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/7/31 14:58:00 [只看该作者]

使用标记和事件,从这节开始看:
http://www.foxtable.com/help/topics/1396.htm


 
基本思路:
 
1、定义三个Var变量,分别表示已经打印行数,总页数和当前页。
2、自己做一个打印按钮,根据要打印的数据的行数,可以算出总页数,例如你的模版是打印选定行,每页10行,那么打印按钮的代码:
 
Var("总页数")  = math.Ceiling( (Tables("xxx").BottomPosition - Tables("xxx").TopPosition +1) / 10)
Var("已打印行数") = 0
Var("当前页") = 1
Dim Book As New XLS.Book(ProjectPath & "Attachments\出库单.xls")
Dim fl As String = ProjectPath & "Reports\出库单.xls"
Book.Build() '生成细节区
 
3、设置BuildDetail事件代码:
Select Case e.Book.TempLate
    Case "模版名称"
       Var("已打印行数") = var("已打印行数") + 1
       if Var("已打印行数") mod 10 = 0 then   ‘每打印10行,当前页加1
            Var("当前页")  = Var("当前页")  + 1
       end if
End Select

4、在模版的对应位置引用var变量:

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

 

细节自己调整,上面只是思路。

 

[此贴子已经被作者于2013-7-31 14:58:41编辑过]

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


加好友 发短信
等级:幼狐 帖子:166 积分:1527 威望:0 精华:0 注册:2013/1/26 14:43:00
回复:(狐狸爸爸)使用标记和事件,从这节开始看:ht...  发帖心情 Post By:2013/7/31 16:53:00 [只看该作者]

你误解我的意思,我是不要通过代码来实现,就像首行和尾行那样,直接加个“<XX>”这样子就可以实现了


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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/7/31 16:54:00 [只看该作者]

必须通过代码才能实现。

 回到顶部