以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]批量文本文件内容读取到表中  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=59757)

--  作者:Joe
--  发布时间:2014/11/10 14:57:00
--  [求助]批量文本文件内容读取到表中

我是一名新手,想从指定的目录下(比如: D:\\Txt )批量读取所有txt文件中第二行的数据到表中。文本文件的第二行包含3列数据,指定目录Txt下可能还包含子目录。

查了帮助文件,只找到读取指定的文本文件名的例子(3.4.3.6 编码合并文本文件),没有找到搜索所有txt文件,然后一一读取的例子,请大侠们指点一下,万分感谢!


--  作者:有点甜
--  发布时间:2014/11/10 15:03:00
--  

 不同格式,读取的方式是不一样的。

 

 如果你参考例子能读取某一个txt文件,接着你只需要循环所有的文件即可

 

http://www.foxtable.com/help/topics/0341.htm

 


--  作者:Joe
--  发布时间:2014/11/10 20:31:00
--  

真的非常非常感谢有点甜的指教,通过下面的代码,可以读取指定目录下的文件和数据。

叩谢!!!

 

For Each MyFile As String In FileSys.GetFiles("E:\\FoxTable Project\\CMM测量时间收集程序\\TXT File")
     Tables("InforData").StopRedraw
     Dim   strs As  String =   FileSys.ReadAllText(Myfile)
        strs =   strs.Replace(vblf,"")
     Dim   rs() As  String =   strs.Split(vbcr)
     For i As Integer = 0 To rs.Length - 1
         Dim   cs() As  String =   rs(i).Split(vbtab)
          If i=1 Then
                     Dim   dr As  DataRow = DataTables("InforData").Addnew()
                     dr("OrderCMM") =  cs(35)     \'----order
                     dr("Partnb") =  cs(0)        \'----planid
                     dr("Operid") =  cs(3)        \'----operid
                     dr("Date") =  cs(4)          \'----date
                     dr("Time") =  cs(5)          \'----time
                     Dim CMMInspector As String
                     CMMInspector=cs(1)
                     dr("Inspector") = right(left(CMMInspector,9),3)

                     dr("CostTime") =  cs(56)
                     dr("FileName") = MyFile

                     Dim ifo As new FileInfo(MyFile)
                     dr("FileTime") =  ifo.LastWriteTime

           End If
      Next
     Tables("InforData").ResumeRedraw
Next