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


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

主题:用EXCEL模板--打印-报错

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


加好友 发短信
等级:六尾狐 帖子:1271 积分:8670 威望:0 精华:0 注册:2019/6/13 9:57:00
用EXCEL模板--打印-报错  发帖心情 Post By:2021/10/27 12:23:00 [只看该作者]

用EXCEL模板--打印-报错:

代码:

Dim Book As New XLS.Book(ProjectPath & "Attachments\订单表.xlsx")  
Dim fl As String = ProjectPath & "Reports\订单表.xlsx"  
Book.Build() '生成
Book.Sheets(0).Rows.RemoveAt(0) 
Book.Save(fl) '保存
Dim Proc As New Process '打开
Proc.File = fl
Proc.Start()

异常提示:

.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2021.5.29.1
错误所在事件:窗口,订单,Button3,Click
详细错误信息:
索引超出范围。必须为非负值并小于集合大小。
参数名: index

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


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/10/27 13:39:00 [只看该作者]

模板和项目例子发上来测试一下

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


加好友 发短信
等级:六尾狐 帖子:1271 积分:8670 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2021/10/27 13:59:00 [只看该作者]

问题一:我改用WORD模板设计,执行下面代码,不执行,是什么原因,如何改,谢谢?
Dim Book As New XLS.Book(ProjectPath & "Attachments\订单表.docx")  
Dim fl As String = ProjectPath & "Reports\订单表.docx"  
Book.Build() '生成
Book.Sheets(0).Rows.RemoveAt(0) 
Book.Save(fl) '保存
Dim Proc As New Process '打开
Proc.File = fl
Proc.Start()
问题二:如何用WORD模板批量打印,打印可以看到效果?比如有50份要打印,要怎么设计?

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


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/10/27 14:06:00 [只看该作者]

这个只能用于execl,word参考:http://www.foxtable.com/webhelp/topics/2890.htm

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


加好友 发短信
等级:六尾狐 帖子:1271 积分:8670 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2021/10/27 15:10:00 [只看该作者]

问题一:老师,用下面代码,关联表,明细表只5行数据,数据非常小,打开花30秒,有没有办法改进?
Dim tm As String  = ProjectPath & "Attachments\订单表.docx" 
Dim fl As String = ProjectPath & "Reports\订单表.docx" 
Dim wrt As New WordReport(Tables("订单表"),tm,fl) '
wrt.Build() '
wrt.Show() '



问题二:按帮助,在“订单表”的选中,逻辑型,选中,单击不执行是什么原因?

'再例如根据已经勾选的行生成报表Word:

Dim rs As List(of Row) = Tables("订单表").GetCheckedRows
If rs.Count > 0 Then 
    Dim tm As String  = ProjectPath & "Attachments\订单表.docx" '
    Dim fl As String = ProjectPath & "Reports\订单表.docx" '
    Dim wrt As New WordReport(Tables("订单表"),tm,fl) '定义一个WordReport
    For Each r As Row In rs '逐行生成报表
        wrt.BuildOne(r)
    Next
    wrt.Show() '显示报表
End If

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


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/10/27 15:23:00 [只看该作者]

请上传实例测试

 回到顶部