以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  做了这个代码输入后,foxtable就死机了。  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=109208)

--  作者:zhuangli515
--  发布时间:2017/11/7 8:42:00
--  做了这个代码输入后,foxtable就死机了。
For Each file As String In filesys .GetFiles("c:\\Data")
    If file.EndsWith(".xls") OrElse file.EndsWith(".xlsx") Then
        Dim Book As New XLS.Book(file)
        Dim Sheet As XLS.Sheet = Book.Sheets(0)
        Dim dr As DataRow = DataTables("报价汇总表").AddNew
        dr("规格型号") = sheet(0,1).Text
        dr("报价") = sheet(5,2).text
        dr("美元每米") = sheet(6,3).text
        dr("利润点") = sheet(7,3).text
    End If
Next




做了这个代码输入后,foxtable就死机了。

--  作者:有点甜
--  发布时间:2017/11/7 10:16:00
--  

你代码写到那里?试试这样写

 

SystemReady = False

For Each file As String In filesys .GetFiles("c:\\Data")
    If file.EndsWith(".xls") OrElse file.EndsWith(".xlsx") Then
        Dim Book As New XLS.Book(file)
        Dim Sheet As XLS.Sheet = Book.Sheets(0)
        Dim dr As DataRow = DataTables("报价汇总表").AddNew
        dr("规格型号") = sheet(0,1).Text
        dr("报价") = sheet(5,2).text
        dr("美元每米") = sheet(6,3).text
        dr("利润点") = sheet(7,3).text
    End If
Next
SystemReady = True
 
 

--  作者:zhuangli515
--  发布时间:2017/11/7 10:25:00
--  
又死掉了,想把1000多个表汇总到一个表里面


--  作者:有点蓝
--  发布时间:2017/11/7 11:04:00
--  
程序假死的时候,看看任务管理器,Foxtable内存占用情况如何?Execl的进程有几个?Foxtable的cpu使用有没有在变化?
--  作者:有点甜
--  发布时间:2017/11/7 11:14:00
--  
以下是引用zhuangli515在2017/11/7 10:25:00的发言:
又死掉了,想把1000多个表汇总到一个表里面

 

命令窗口测试代码,应该不是死机,而是运行需要较长一段时间而已。

 

SystemReady = False
DataTables("报价汇总表").ResumeRedraw
DataTables("报价汇总表").StopRedraw
For Each file As String In filesys .GetFiles("c:\\Data")
    If file.EndsWith(".xls") OrElse file.EndsWith(".xlsx") Then
        Dim Book As New XLS.Book(file)
        Dim Sheet As XLS.Sheet = Book.Sheets(0)
        Dim dr As DataRow = DataTables("报价汇总表").AddNew
        dr("规格型号") = sheet(0,1).Text
        dr("报价") = sheet(5,2).text
        dr("美元每米") = sheet(6,3).text
        dr("利润点") = sheet(7,3).text
        output.show(Date.now & " " & file)
        application.DoEvents
    End If
Next
DataTables("报价汇总表").ResumeRedraw
SystemReady = True