以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求助:导入csv文件到临时表的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=94943)

--  作者:huangxueyao
--  发布时间:2017/1/5 20:40:00
--  求助:导入csv文件到临时表的问题
\'1新建一个临时表
Dim dtb As New DataTableBuilder("导入订单")

\'1.1循环生成字符串列
Dim sts1() As String ={"订单ID/采购单ID","物流公司","物流单号","订单状态","买家会员名","买家性别","买家省份","买家城市","是否粉丝","购买方式","SKU","商家编码(sku)","商家编码(商品)","维权信息","收货人姓名","收货人省份","收货人城市","收货人地区","收货地址","运送方式","自提网点","预约人","预约电话","联系手机","订单备注","店铺Id","店铺名称","商品留言","订单留言","备注","门店ID","门店名称","宝贝标题"}
For Each st1 As String In sts1
    dtb.AddDef(st1, Gettype(String), 100)
Next

\'1.2循环生成时间列
Dim sts2() As String ={"预约时间","订单创建时间","订单付款时间"}
For Each st2 As String In sts2
    dtb.AddDef(st2, Gettype(Date))
Next

\'1.3循环生成数字列
Dim sts3() As String ={"商品价格","买家实际支付商品金额","宝贝总数量","买家应付订单货款","买家应付邮费","订单总金额","买家实际支付订单金额"}
For Each st3 As String In sts3
    dtb.AddDef(st3, Gettype(Integer))
Next

\'1.4生成临时表
dtb.Build()

\'1.5窗口控件引入临时表
Tables("模式窗-导入订单_Table1").DataSource = dtb.BuildDataSource()

\'2以txt方法读取外部数据源--有赞订单
Dim dlg As New OpenFileDialog \'定义一个新的OpenFileDialog
dlg.Filter= "CSV文件|*.csv" \'设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
    
    Dim str As String = FileSys.ReadAllText(dlg.FileName,Encoding.Default)
    Dim ary() As String = str.Split(new Char() {chr(10), Chr(13)})
    
    For i As Integer = 9 To ary.Length -1
        Dim s() As String = ary(i).Split(",")
        Dim nr As Row = Tables("导入订单").AddNew
        nr("订单ID/采购单ID") = s(0).replace("""", "").trim()
    Next
    
    
End If


最后s()的值经测试是存在的,但是Tables("导入订单").AddNew这里出错了,实际并不会增加行,也没有报错,查了帮助文档没找出所以然,请教各位老师,谢谢~

--  作者:fjlclxj
--  发布时间:2017/1/5 20:50:00
--  
用dtb添加数据后再绑定table试试
--  作者:wyz20130512
--  发布时间:2017/1/5 20:50:00
--  
MessageBox.Show("1")
在Tables("导入订单").AddNew代码前后各加一个对话框看执行了没?
MessageBox.Show("2")

--  作者:有点色
--  发布时间:2017/1/5 21:02:00
--  
 做个例子上来测试吧。addnew这行代码不可能出错的。
--  作者:huangxueyao
--  发布时间:2017/1/5 21:10:00
--  
窗口-订单-导入订单,谢谢各位老师
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:小鲜易菜.zip


--  作者:huangxueyao
--  发布时间:2017/1/5 21:11:00
--  
这个测试过了没问题
--  作者:有点色
--  发布时间:2017/1/5 21:31:00
--  

改成

 

Dim nr As Row = Tables("模式窗-导入订单_Table1").AddNew

 

或者你改成

 

Tables("模式窗-导入订单_Table1").DataSource = DataTables("导入订单")

 


--  作者:huangxueyao
--  发布时间:2017/1/5 21:38:00
--  
嗯,DataSource改了就可以了,蛮奇怪的