以文本方式查看主题

-  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=172712)

--  作者:lgz518
--  发布时间:2021/10/27 12:23:00
--  用EXCEL模板--打印-报错
用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

--  作者:有点蓝
--  发布时间:2021/10/27 13:39:00
--  
模板和项目例子发上来测试一下
--  作者:lgz518
--  发布时间: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份要打印,要怎么设计?

--  作者:有点蓝
--  发布时间:2021/10/27 14:06:00
--  
这个只能用于execl,word参考:http://www.foxtable.com/webhelp/topics/2890.htm
--  作者:lgz518
--  发布时间: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

--  作者:有点蓝
--  发布时间:2021/10/27 15:23:00
--  
请上传实例测试