以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 请问这个是.NET的版本问题吗? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=172928) |
-- 作者:9EQ98 -- 发布时间:2021/11/7 21:48:00 -- 请问这个是.NET的版本问题吗? |
-- 作者:有点蓝 -- 发布时间:2021/11/7 21:54:00 -- 应该和版本无关。打印的数据太多,或者打印了大量图片,显示内存溢出 |
-- 作者:9EQ98 -- 发布时间:2021/11/7 22:44:00 -- BOOK.SAVE 有不有关闭语句,我可能是因为批量导出了文件
|
-- 作者:9EQ98 -- 发布时间:2021/11/7 22:46:00 -- For Each dr As DataRow In drs Y1 =Y1 + 1 生产合同编号 = dr("生产合同编号") 姓名 = dr("新建人") 状态 = dr("状态") Path = ProjectPath & "\\报表\\" & "生产合同\\" & 状态 & "\\" fl = Path & 生产合同编号 & "-" & 姓名 & ".xls" Book.Build() \'生成细节区 Book.Save(fl) \'保存工作簿 StatusBar.Message3 = Y1 & "/" & 合同数量 & " / " & 生产合同编号 Next |
-- 作者:有点蓝 -- 发布时间:2021/11/7 22:48:00 -- 贴出完整代码 |
-- 作者:9EQ98 -- 发布时间:2021/11/7 22:55:00 -- Dim 批量循环条件 As String 批量循环条件 = "状态 = \'" & "审批通过" & "\' " 批量循环条件 = 批量循环条件 & " And Year(生产合同日期) = " & Date.Now.Year If _登录人工作组.Contains("业务审批组") = False Then 批量循环条件 = 批量循环条件 & " And 新建人 = \'" & _登录人 & "\'" End If Dim 生产合同编号 As String Dim 姓名 As String Dim 状态 As String Dim Path As String = "" Dim fl As String = "" Dim Book As New XLS.Book(ProjectPath & "Attachments\\生产合同-报表.xls") Dim drs As List(of DataRow) = DataTables("生产合同").SQLSelect(批量循环条件) Dim 合同数量 As Integer = DRS.Count Dim Y1 As Integer = 0 StatusBar.Message2 = 批量循环条件 StatusBar.Message3 = 合同数量 If 合同数量 = 0 Then MESSAGEBOX.SHOW("没有打印导出的生产合同") Return End If For Each dr As DataRow In drs Y1 =Y1 + 1 生产合同编号 = dr("生产合同编号") 姓名 = dr("新建人") 状态 = dr("状态") Path = ProjectPath & "\\报表\\" & "生产合同\\" & 状态 & "\\" fl = Path & 生产合同编号 & "-" & 姓名 & ".xls" Book.Build() \'生成细节区 Book.Save(fl) \'保存工作簿 StatusBar.Message3 = Y1 & "/" & 合同数量 & " / " & 生产合同编号 Next |
-- 作者:有点蓝 -- 发布时间:2021/11/7 23:05:00 -- …… Dim 生产合同编号 As String Dim 姓名 As String Dim 状态 As String Dim Path As String = "" Dim fl As String = "" Dim drs As List(of DataRow) = DataTables("生产合同").SQLSelect(批量循环条件) Dim 合同数量 As Integer = DRS.Count Dim Y1 As Integer = 0 StatusBar.Message2 = 批量循环条件 StatusBar.Message3 = 合同数量 If 合同数量 = 0 Then MESSAGEBOX.SHOW("没有打印导出的生产合同") Return End If For Each dr As DataRow In drs Y1 =Y1 + 1 生产合同编号 = dr("生产合同编号") 姓名 = dr("新建人") 状态 = dr("状态") Path = ProjectPath & "\\报表\\" & "生产合同\\" & 状态 & "\\" fl = Path & 生产合同编号 & "-" & 姓名 & ".xls" Dim Book As New XLS.Book(ProjectPath & "Attachments\\生产合同-报表.xls") Book.Build() \'生成细节区 Book.Save(fl) \'保存工作簿 StatusBar.Message3 = Y1 & "/" & 合同数量 & " / " & 生产合同编号 Application.DoEvents Next
|