以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  dlg.FileName  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=175269)

--  作者:aaa1234
--  发布时间:2022/2/26 14:44:00
--  dlg.FileName
With DataTables("table_3")
    .LoadTop = 200
    .LoadPage = 0
    .Load()

End With

With DataTables("table_3")
Do While .LoadPage < .TotalPages - 1
        .LoadPage = .LoadPage + 1
Dim dlg As New SaveFileDialog \'定义一个新的SaveFileDialog
Dim Book As New XLS.Book(ProjectPath & "Attachments\\111.xls") \'打开模板
Dim Sheet As XLS.Sheet = Book.Sheets(0)
gc.Collect
Book.Build() \'生成细节区
Book.Save("D:\\data" & ) 
Dim Proc As New Process \'打开工作簿
Proc.File = dlg.FileName
Proc.Start()

        .Load()

Loop
End With
每一页加1怎么写
[此贴子已经被作者于2022/2/26 14:51:46编辑过]

--  作者:有点蓝
--  发布时间:2022/2/26 14:52:00
--  
分别取
目录:GetParentPath
文件名:GetName
把文件名根据点号(.)拆分:Split,拆分后的数组项0就是文件名直接&1,

最后再把目录、&1后的文件名、拆分后的数组项1,使用&合并为一个字符串


--  作者:aaa1234
--  发布时间:2022/2/26 14:52:00
--  
With DataTables("table_3")
    .LoadTop = 200
    .LoadPage = 0
    .Load()

End With

With DataTables("table_3")
Do While .LoadPage < .TotalPages - 1
        .LoadPage = .LoadPage + 1
Dim dlg As New SaveFileDialog \'定义一个新的SaveFileDialog
Dim Book As New XLS.Book(ProjectPath & "Attachments\\111.xls") \'打开模板
Dim Sheet As XLS.Sheet = Book.Sheets(0)
gc.Collect
Book.Build() \'生成细节区
Book.Save("D:\\data" & ) 
Dim Proc As New Process \'打开工作簿
Proc.File = dlg.FileName
Proc.Start()

        .Load()

Loop
End With
每一页加1怎么写

--  作者:aaa1234
--  发布时间:2022/2/26 14:53:00
--  
还有就是分页不清除筛选的数据怎么弄 ,就是分页只分筛选后的页 应该怎么弄 
--  作者:有点蓝
--  发布时间:2022/2/26 15:05:00
--  
Book.Save("D:\\data" & .LoadPage & “.xls”

With DataTables("table_3")
.loadfilter = Tables("table_3")filter
    .LoadTop = 200
    .LoadPage = 0
    .Load()

End With

--  作者:aaa1234
--  发布时间:2022/2/26 15:12:00
--  
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.1.30.2
错误所在事件:窗口,主控窗口,Button36,Click
详细错误信息:
引发类型为“System.OutOfMemoryException”的异常。
[此贴子已经被作者于2022/2/26 15:21:35编辑过]

--  作者:aaa1234
--  发布时间:2022/2/26 15:25:00
--  
With DataTables("table_3")
    .loadfilter = Tables("table_3").filter
    .LoadTop = 200
    .LoadPage = 0
    .Load()

End With

With DataTables("table_3")
Do While .LoadPage < .TotalPages - 1
        .LoadPage = .LoadPage + 1
Dim dlg As New SaveFileDialog \'定义一个新的SaveFileDialog
Dim Book As New XLS.Book(ProjectPath & "Attachments\\111.xls") \'打开模板
Dim Sheet As XLS.Sheet = Book.Sheets(0)
gc.Collect
Book.Build() \'生成细节区
Book.Save("D:\\data" & .LoadPage & ".xls") 

        .Load()

Loop
End With
[此贴子已经被作者于2022/2/26 15:25:20编辑过]

--  作者:有点蓝
--  发布时间:2022/2/26 15:25:00
--  
完整代码
--  作者:aaa1234
--  发布时间:2022/2/26 15:26:00
--  
发了
--  作者:有点蓝
--  发布时间:2022/2/26 16:02:00
--  
试试,不行就减少加载的数据

With DataTables("table_3")
    .loadfilter = Tables("table_3").filter
    .LoadTop = 200
    .LoadPage = 0
    .Load()
    Dim Book As New XLS.Book(ProjectPath & "Attachments\\111.xls") \'打开模板
    Dim Sheet As XLS.Sheet = Book.Sheets(0)
    Book.Build() \'生成细节区
    Book.Save("D:\\data0.xls")
End With
gc.Collect
System.Threading.Thread.Sleep(1000)
With DataTables("table_3")
    Do While .LoadPage < .TotalPages - 1
        .LoadPage = .LoadPage + 1
        .Load()
        Dim Book As New XLS.Book(ProjectPath & "Attachments\\111.xls") \'打开模板
        Dim Sheet As XLS.Sheet = Book.Sheets(0)
        Book.Build() \'生成细节区
        Book.Save("D:\\data" & .LoadPage & ".xls")
        gc.Collect
        System.Threading.Thread.Sleep(1000)
    Loop
End With