以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]文本文件导入狐表如何去掉制表符  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=90555)

--  作者:xl
--  发布时间:2016/9/16 18:52:00
--  [求助]文本文件导入狐表如何去掉制表符
[求助]文本文件导入狐表如何去掉制表符,生成相应正常的的课表
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:1234.txt


--  作者:cbt
--  发布时间:2016/9/16 21:19:00
--  


此主题相关图片如下:qq图片20160916212005.png
按此在新窗口浏览图片
Dim db As new  ADOXBuilder
db.Open()
Dim tb As ADOXTable
tb = db.NewTable("课表")
Dim xq() As String={"星期一","星期二","星期三","星期四","星期五"}
Dim rq() As String = {"一","二","三","四","五","六","七","八"}
tb.AddColumn("班级",ADOXType.String,6)
For i As Integer = 0 To 4
    For j As Integer = 0 To 7
        tb.AddColumn(xq(i) & "_" & rq(j),ADOXType.String,2)
    Next
Next
db.AddTable(tb)
db.Close()
Syscmd.Project.Open(ProjectFile)


Dim txt As String = FileSys.ReadAllText("d:\\1234.txt",Encoding.Default)
txt = txt.Replace(vblf,"")
Dim jh() As String = txt.Split(vbcr)

For i As Integer = 5 To jh.Length-1
    Dim j() As String = jh(i).Split("│")
    If j.Length= 43 Then
         Dim dr As Row=Tables("课表").AddNew()
            dr("班级")=j(1).trim()
           For jj As Integer = 2 To j.Length-2
            Dim str As String = j(jj).Trim()
           
            dr(jj-1)=str
        Next
    End If
Next

 

 

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:管理项目2.foxdb

[此贴子已经被作者于2016/9/16 21:20:31编辑过]

--  作者:xl
--  发布时间:2016/9/17 8:31:00
--  
太完美了,谢谢cbt!!!
--  作者:xl
--  发布时间:2016/9/29 9:09:00
--  
导入的数据有点问题,还得麻烦老师一下。传文本及相关的正确
结果(这个结果需用《易表》软件打开:http://www.egrid2000.com/index.html#index)

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:1111.rar



--  作者:有点蓝
--  发布时间:2016/9/29 9:30:00
--  
只是制表符的数量不同,看懂2楼的代码,自己计算制表符的个数,并相应改代码
--  作者:有点蓝
--  发布时间:2016/9/29 9:51:00
--  
以2楼的项目表结构为例

Dim ip As New Importer
ip.SourcePath = "F:\\H\\问题测试\\" \'指定目录
ip.SourceTableName = "高2014级2016年秋正课表" \'指定要导入的文件"订单.txt"
ip.NewTableName ="课表2" \'导入后的表名
ip.Format = "Delimited" \'指定导入格式
ip.Import()

Dim dr As Row
For i As Integer = 3 To Tables("课表2").Rows.Count - 2 Step 2
    Dim arr() As String = Tables("课表2").Rows(i)(0).split("│")
    dr = Tables("课表").AddNew
    For j As Integer = 1 To arr.Length-2
        dr(j-1) = arr(j).trim()
    Next
Next