以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- txt要手动换行才导的进去 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=110151) |
-- 作者:fubblyc -- 发布时间:2017/11/27 19:24:00 -- txt要手动换行才导的进去 老师,ERP导入的文件,1.txt的导不进去,相同的数据,2.txt 删掉数据,手动换行,每行复制过去就可以导进去。 不知道是不是换行的原因。 我从FT表中导出的代码是这样: Dim str As String = "" Dim t As Table = Tables("盘点") For Each r As Row In t.Rows If r("条码") <> "本库位合计" Then For Each c As Col In t.cols If c.name = "条码" Or c.name = "库位" Or c.name = "数量" Then str &= r(c) & "," End If Next str = str.Trim(",") & vbcrlf End If Next Dim pd As String = "\\pd" & Date.now.Hour & Date.now.Minute & Date.now.Second & ".txt" FileSys.WriteAllText(SpecialFolder.DesktopDirectory & pd, str, False, encoding.default) [此贴子已经被作者于2017/11/27 19:27:20编辑过]
|
-- 作者:fubblyc -- 发布时间:2017/11/27 19:28:00 -- 1.txt的导不进去,相同的数据,2.txt 删掉数据,手动换行,每行复制过去就可以导进去。 |
-- 作者:fubblyc -- 发布时间:2017/11/27 19:30:00 -- 我采用这种也是一样: Dim ex As New Exporter ex.SourceTableName = "盘点" ex.FilePath = "C:\\data\\" \'& name ex.Fields = "库位,条码,数量" \'指定导出字段 ex.Format = "Delimited" ex.Header = False ex.NewTableName = "1" ex.Export() \'开始导出 Dim lj As String = "C:\\data\\1.txt" Dim str As String = FileSys.ReadAllText(lj, Encoding.Default) str = str.replace("""", "") FileSys.WriteAllText(lj, str, False, Encoding.Default) |
-- 作者:fubblyc -- 发布时间:2017/11/27 20:43:00 -- 我软件接收盘点枪的代码这样写: Forms("盘点").Controls("TextBox1").Text = Forms("盘点").Controls("TextBox1").Text & e.Port.ReadExisting() 我从textbox1合并到表格的数据是这样: 代码这样写: Dim max As String Dim idx As Integer max = Forms("盘点").Controls("table1").Table.DataTable.Compute("Max(库位)") \'取得该月的最大编号 If max >= 1 Then \'如果存在最大编号 idx = max + 1 Else idx = 1 \'否则顺序号等于1 End If Dim strs As String = forms("盘点").Controls("textbox1").value Dim xm As String = strs.SubString(0,1) strs = strs.Replace(vblf,"") Dim rs() As String = strs.Split(xm) For i As Integer = 0 To rs.Length - 1 Dim cs() As String = rs(i).Split(xm) If cs.Length = 1 Then Dim dr As DataRow = DataTables("盘点").Addnew() dr("门店名称") = _username dr("盘点日期") = Date.Today dr("条码") = cs(0) dr("盘点枪编号") = xm dr("库位") = Format(idx,"0000") dr("上传时间") =Date.now If dr("条码") IsNot "" Then dr("数量") = 1 Else dr("条码") = "本库位合计" End If End If Next 然后导出的代码这样写: Dim str As String = "" Dim t As Table = Tables("盘点") For Each r As Row In t.Rows If r("条码") <> "本库位合计" Then For Each c As Col In t.cols If c.name = "库位" Or c.name = "条码" Or c.name = "数量" Then str &= r(c) & "," End If Next str = str.Trim(",") & vbcrlf \'str = str.Replace(vblf,"") End If Next Dim pd As String = "\\pd" & Date.now.Hour & Date.now.Minute & Date.now.Second & ".txt" FileSys.WriteAllText(SpecialFolder.DesktopDirectory & pd, str, False, encoding.default) 现在只要把,1移到上一行的末尾就可以导入到ERP系统里了。。。 不知道怎么会出现这个问题 [此贴子已经被作者于2017/11/27 20:48:07编辑过]
|
-- 作者:有点蓝 -- 发布时间:2017/11/27 22:06:00 -- 这种方式导出: Dim pd As String =SpecialFolder.DesktopDirectory & "\\pd\\" & Date.now.Hour & Date.now.Minute & Date.now.Second & ".txt" Dim ex As New Exporter ex.SourceTableName = "盘点" \'指定导出表 ex.FilePath = SpecialFolder.DesktopDirectory & "\\pd\\" \'指定目标文件路径 ex.Format = "Delimited" \'导出格式为符号分割的文本文件 ex.NewTableName = Date.now.Hour & Date.now.Minute & Date.now.Second \'指定文件名,注意无须扩展名 ex.Fields="条码,库位,数量" ex.Export() \'开始导出 或者加上列标题 Dim str As String = """库位"",""条码"",""数量""" Dim t As Table = Tables("盘点") For Each r As Row In t.Rows If r("条码") <> "本库位合计" Then str = str & vbcrlf For Each c As Col In t.cols If c.name = "库位" Or c.name = "条码" Or c.name = "数量" Then str &= r(c) & "," End If Next str = str.Trim(",") End If Next |