以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 如何将临时表直接作为报表输出数据源? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=148093) |
-- 作者:lanbor -- 发布时间:2020/3/31 9:30:00 -- 如何将临时表直接作为报表输出数据源? If Tables(e.Form.name & "_table1").Rows.Count>0 Then Dim t1 As Table t1.DataSource = DataT ables(e.Form.name & "_table1") 我这样做了 Dim i1 As Integer Dim Book As New XLS.Book(ProjectPath & "Attachments\\proc99_all.xls") \'9_report.xls") Dim sheet As XLS.Sheet = Book.Sheets(0) Dim Style As Xls.Style=book.NewStyle Style.BackColor=Color.Red ExcelPath="D:\\step00\\" Dim fl As String = ExcelPath & "ExcelReport\\proc99_all.xls" book.Add DataTable("proc99_pub","","sel ect * fro m {t1} order by p9.proc01,p9.proc02,p9.proc03,p8.proc805" ) ‘这里报错了。 book.Build() book.save( fl ) \'fl Dim proc As New Process Proc.file=fl proc.Start() End If 请教:如何正确将当前:Tables(e.Form.name & "_table1") 的记录直接作为 book.AddDataTable 的数据源 ? 谢谢专家! |
-- 作者:有点蓝 -- 发布时间:2020/3/31 9:51:00 -- book.AddDataTable 只能添加后台数据库,这个是为了直接从数据库生成报表使用的,如果是已经加载数据的,没有必要使用AddDataTable 了。 直接把模板的表名改为窗口表名称即可http://www.foxtable.com/webhelp/topics/2627.htm
|
-- 作者:lanbor -- 发布时间:2020/3/31 11:20:00 -- 临时表直接打印再请教 If Tables(e.Form.name & "_table1").Rows.Count>0 Then Dim t1 As Table t1.DataSource = DataT ables(e.Form.name & "_table1") Dim i1 As Integer Dim Book As New XLS.Book(Projec tPath & "Attachments\\proc99_all.xls") \'9_report.xls") Dim sheet As XLS.Sheet = Book.Sheets(0) Dim Style As Xls.Style=book.NewStyle Style.BackColor=Color.Red ExcelPath="D:\\step00\\" Dim fl As String = ExcelPath & "ExcelReport\\proc99_all.xls" Sheet(7,0).Value = "<proc99_from_view_all_Table1>" \'写入表名 book.Build() book.save( fl ) \'fl Dim proc As New Process Proc.file=fl proc.Start() End If 我用以上方法测试,系统报错为:未将实列引用到对象 请再我看看,语句上什么地主有错? 谢谢! |
-- 作者:有点蓝 -- 发布时间:2020/3/31 11:48:00 -- 去掉下面代码 Dim t1 As Table t1.DataSource = DataT ables(e.Form.name & "_table1") |
-- 作者:lanbor -- 发布时间:2020/3/31 11:59:00 -- 再请教:我的报表只打出来1行记录, 修改后: 再请教:我的报表只打出来1行记录,我应该再修改什么地方? If Tables(e.Form.name & "_table1").Rows.Count>0 Then Dim i1 As Integer Dim Book As New XLS.Book(ProjectPath & "Attachments\\proc99_all.xls") \'9_report.xls") Dim sheet As XLS.Sheet = Book.Sheets(0) Dim Style As Xls.Style=book.NewStyle Style.BackColor=Color.Red ExcelPath="D:\\step00\\" Dim fl As String = ExcelPath & "ExcelReport\\proc99_all.xls" Sheet(7,0).Value = "<proc99_from_view_all_Table1>" \'写入表名 book.Build() book.save( fl ) \'fl Dim proc As New Process Proc.file=fl proc.Start() End If |
-- 作者:有点蓝 -- 发布时间:2020/3/31 12:10:00 -- http://www.foxtable.com/webhelp/topics/0201.htm |