以文本方式查看主题 - 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=159037) |
-- 作者:martin723 -- 发布时间:2020/12/11 14:09:00 -- [求助]Excel报表打印问题 两张关联表打印一套Excel报表。每条父表数据生成一个Excel表,其中子表数据需要进行筛选。用代码生成。 结果出现子表的数据没有筛选过。但使用键盘鼠标换行打印Excel报表生成的Excel文件是筛选过的。正确代码是怎么写的? Dim Filter As String Filter = "JYSJ >= #" & dt1 & "# And JYSJ <= #" & dt2 & "#" MainTable = Tables("CLXX") Tables("CLXX.JYJL").Filter = Filter Dim sheet1 As XLS.Sheet Dim f1,f2 As String f1=ProjectPath & "\\temp.xls" f2=SpecialFolder.DesktopDirectory & "\\单车加油-" & Jysxn & Jysxy & ".xls" Dim Book2 As New XLS.Book For i As Integer = 0 To CurrentTable.Rows.Count -1 CurrentTable.Position = i System.Threading.Thread.Sleep(1000) Dim Book1 As New XLS.Book(ProjectPath & "Attachments\\单车加油模板.xls") Book1.Build() \'生成细节区 Sheet1 = Book1.Sheets("muban") sheet1.Name = CurrentTable.Current("CH") System.Threading.Thread.Sleep(1000) Book1.Save(f1) \'保存工作簿 Book1.Sheets.Remove(Sheet1) Book2.Sheets.Add(Sheet1) System.Threading.Thread.Sleep(500) Next 正确的写法是什么?
|
-- 作者:有点蓝 -- 发布时间:2020/12/11 14:37:00 -- 首先不是特别情况不要使用CurrentTable这种用法,最好是指定表。 Dim Filter As String Filter = "JYSJ >= #" & dt1 & "# And JYSJ <= #" & dt2 & "#" MainTable = Tables("CLXX") Dim sheet1 As XLS.Sheet Dim f1,f2 As String f1=ProjectPath & "\\temp.xls" f2=SpecialFolder.DesktopDirectory & "\\单车加油-" & Jysxn & Jysxy & ".xls" Dim Book2 As New XLS.Book For i As Integer = 0 To Tables("CLXX").Rows.Count -1 Tables("CLXX").Position = i Tables("CLXX.JYJL").Filter = Filter Dim Book1 As New XLS.Book(ProjectPath & "Attachments\\单车加油模板.xls") Book1.Build() \'生成细节区 Sheet1 = Book1.Sheets("muban") sheet1.Name = Tables("CLXX").Current("CH") Book1.Save(f1) \'保存工作簿 Book1.Sheets.Remove(Sheet1) Book2.Sheets.Add(Sheet1) Next |
-- 作者:martin723 -- 发布时间:2020/12/11 14:52:00 -- 这样速度快了,但子表筛选还是出现问题,屏幕上确实筛选了,但打印出的Excel报表中仍有不是筛选范围的数据,怎么回事?移动键盘鼠标逐条打印就没有问题 |
-- 作者:有点蓝 -- 发布时间:2020/12/11 14:55:00 -- 嗯,execl报表关联表和筛选没有关系的,需要移除掉才行,或者子表只加载有关的数据 |
-- 作者:martin723 -- 发布时间:2020/12/11 15:05:00 -- 但是键盘鼠标操作生成的没有问题啊!两者不一致,能模拟键盘鼠标操作点击报表按钮吗 |
-- 作者:有点蓝 -- 发布时间:2020/12/11 15:14:00 -- 搞不懂了。您是需要筛选还是不需要筛选? |
-- 作者:martin723 -- 发布时间:2020/12/11 15:27:00 -- 需要筛选,屏幕上已经筛选出正确结果了。但用代码出问题(未进行筛选,与屏幕不一致),逐行用点击菜单的方式没问题(与屏幕一致,有筛选)。 [此贴子已经被作者于2020/12/11 15:27:39编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/12/11 15:49:00 -- 关联表的筛选对模板里子表的数据输出不可能起作用的。请上传实例说明 |