Foxtable(狐表)用户栏目专家坐堂 → excel报表问题


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

主题:excel报表问题

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


加好友 发短信
等级:幼狐 帖子:67 积分:703 威望:0 精华:0 注册:2010/11/23 23:03:00
excel报表问题  发帖心情 Post By:2011/11/25 0:39:00 [只看该作者]

我制了个像订单表一样的模板,用代码打印,在伐码中修改模板的打印条件为<all>,为什么打印出来的结果是:表头——记录——然后又是表头——再打记录,这样反复打印直到记录条数打完,这是什么原因啊

伐码如下:

Dim Book As New XLS.Book(ProjectPath & "Attachments\台账.xls")
Dim fl As String = ProjectPath & "Reports\台账.xls"
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Sheet(1,31).Value = "<all>"               '修改模板打印条件
Sheet(1,0).Value = "<" & vars(User.Group) & ">"    '修改模板细节区表名
Book.Build()                       '生成细节区
Book.Save(fl)                      '保存工作簿
Dim Proc As New Process                '打开工作簿
Proc.File = fl
Proc.Verb = "Print"                   '指定动作
Proc.Start()


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


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

模板有问题。

先不用代码,直接通过菜单打印,看看正常否。

如果也不正常,就是模板问题,如果正常,就是你上面的代码有问题。

如果确定代码有问题,肯定就是这三行引起的:

 

Dim Sheet As XLS.Sheet = Book.Sheets(0)
Sheet(1,31).Value = "<all>"               '修改模板打印条件
Sheet(1,0).Value = "<" & vars(User.Group) & ">"    '修改模板细节区表名

 


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


加好友 发短信
等级:幼狐 帖子:67 积分:703 威望:0 精华:0 注册:2010/11/23 23:03:00
  发帖心情 Post By:2011/11/25 11:59:00 [只看该作者]

模板在菜单下直接生成报表没问题啊,这代码能改吗

Dim Sheet As XLS.Sheet = Book.Sheets(0)
Sheet(1,31).Value = "<all>"               '修改模板打印条件
Sheet(1,0).Value = "<" & vars(User.Group) & ">"    '修改模板细节区表名

 

 

把红色部分删除只打一行也没问题,不用伐码直接输出可以输出全部行。

[此贴子已经被作者于2011-11-25 12:05:41编辑过]

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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/11/25 12:03:00 [只看该作者]

这样检查一下,看看你生成的模板是什么样,就知道原因了:

 

Dim Book As New XLS.Book(ProjectPath & "Attachments\台账.xls")
Dim fl As String = ProjectPath & "Reports\台账.xls"
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Sheet(1,31).Value = "<all>"               '修改模板打印条件
Sheet(1,0).Value = "<" & vars(User.Group) & ">"    '修改模板细节区表名
Book.Save(fl)                      '保存工作簿
Dim Proc As New Process                '打开工作簿
Proc.File = fl
Proc.Verb = "Print"                   '指定动作
Proc.Start()


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


加好友 发短信
等级:幼狐 帖子:67 积分:703 威望:0 精华:0 注册:2010/11/23 23:03:00
  发帖心情 Post By:2011/11/25 12:19:00 [只看该作者]

找到了,是修改的行数不对,都修改在了表头的那一行。

 回到顶部