以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]导入excel或者txt (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=83433) |
||||||||
-- 作者:huhu -- 发布时间:2016/4/8 16:54:00 -- [求助]导入excel或者txt 导入excel或者txt。 怎么能做到无论选择excel或者txt都能自动判断,导入呢。就不用就2个按钮,分别导入excel和导入txt了。一个按钮就搞定。 Dim dlg As New OpenFileDialog \'定义一个新的OpenFileDialog dlg.Filter= "excel文件|*.xls" \'设置筛选器 If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮 Dim ip As New Merger ip.SourcePath = dlg.FileName \'指定数据文件 ip.SourceTableName = "订单执行统计表$" \'指定要导入的表 ip.DataTableName ="订单" \'导入后的表名 ip.Format = "Excel" \'指定导入格式 ip.merge() End If |
||||||||
-- 作者:大红袍 -- 发布时间:2016/4/8 17:12:00 -- Dim dlg As New OpenFileDialog \'定义一个新的OpenFileDialog dlg.Filter= "文件|*.xls;*.txt" \'设置筛选器 If dlg.ShowDialog = DialogResult.OK Then Dim info As new fileinfo(dlg.FileName) msgbox(info.Extension) If info.Extension = ".txt" Then msgbox("文本代码") ElseIf info.Extension = ".xls" Then msgbox("excel代码") End If End If |
||||||||
-- 作者:eb_xinlang -- 发布时间:2016/4/8 17:42:00 -- |
||||||||
-- 作者:huhu -- 发布时间:2016/4/8 18:22:00 --
.NET Framework 版本:2.0.50727.8670 Foxtable 版本:2015.12.22.1 错误所在事件: 详细错误信息: \'C:\\Users\\基永\\Desktop\\SN.txt\'不是一个有效的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。 Dim dlg As New OpenFileDialog \'定义一个新的OpenFileDialog dlg.Filter= "文件|*.xls;*.txt" \'设置筛选器
If dlg.ShowDialog = DialogResult.OK Then Dim info As new fileinfo(dlg.FileName) If info.Extension = ".txt" Then Dim mg As New Merger mg.SourcePath = dlg.filename \'指定数据文件所在目录 msgbox(0) mg.Format = "Delimited" \'指定格式 msgbox(1) mg.SourceTableName = "SN" \'指定要合并的文件,无需扩展名 msgbox(2) mg.Header = True msgbox(3) mg.DataTableName = "扫描配货明细" \'指定接收数据的表 msgbox(4) mg.Merge() \'开始合并-----提示报错,需要导入的SN.txt不是有效的路径 msgbox(5) ElseIf info.Extension = ".xls" Then Dim mg As New Merger mg.SourcePath = dlg.filename mg.Format = "excel" \'指定格式 mg.SourceTableName = "序列号$" \'指定要合并的表 mg.DataTableName = "扫描配货明细" \'指定接收数据的表 mg.Merge() \'开始合并 End If End If For Each dr As DataRow In DataTables("扫描配货明细").DataRows If dr("SN") = "" Then dr.Delete End If Next DataTables("扫描配货明细").Save |
||||||||
-- 作者:Hyphen -- 发布时间:2016/4/9 9:18:00 -- If info.Extension = ".txt" Then Dim mg As New Merger mg.SourcePath = Info.Path \'指定数据文件所在目录
|
||||||||
-- 作者:huhu -- 发布时间:2016/4/11 9:19:00 -- TXT里面是这样。 096597223 096597224 前面第一位是有0的。怎么导入到ft后,第一位0没了。 变为了 96597223 96597224 这是怎么回事? excel就没这个问题。
|
||||||||
-- 作者:大红袍 -- 发布时间:2016/4/11 9:21:00 -- 那你可以用代码合并。
http://www.foxtable.com/help/topics/2629.htm
|
||||||||
-- 作者:huhu -- 发布时间:2016/4/11 10:49:00 -- [求助]merge合并是不是不能后台统计啊。 datacolchange: msgbox(11)----执行 Dim sum As Integer = DataTables("扫描配货明细").SQLCompute("Sum(数量)","状态 = \'生产结束扫描完成\'") ssdsl.text = "实扫到数量:" & sum msgbox(22)---执行 但执行了红色的代码,merge excel后。sum的值没有改变。 Dim dlg As New OpenFileDialog \'定义一个新的OpenFileDialog dlg.Filter= "文件|*.xls;*.txt" \'设置筛选器 If dlg.ShowDialog = DialogResult.OK Then Dim info As new fileinfo(dlg.FileName) If info.Extension = ".txt" Then Dim strs As String = FileSys.ReadAllText(dlg.FileName) strs = strs.Replace(vblf,"") Dim rs() As String = strs.Split(vbcr) For i As Integer = 0 To rs.Length - 1 Dim dr As DataRow = DataTables("扫描配货明细").Addnew() dr("SN") = rs(i) Next ElseIf info.Extension = ".xls" Then DataTables("扫描配货明细").Addnew() Dim mg As New Merger mg.SourcePath = dlg.filename mg.Format = "excel" \'指定格式 mg.SourceTableName = "序列号$" \'指定要合并的表 mg.DataTableName = "扫描配货明细" \'指定接收数据的表 mg.Merge() \'开始合并 End If End If For Each dr As DataRow In DataTables("扫描配货明细").DataRows If dr("SN") = "" Then dr.Delete End If Next DataTables("扫描配货明细").Save |
||||||||
-- 作者:大红袍 -- 发布时间:2016/4/11 10:50:00 -- 那行没有保存肯定不会SQLCompute
你可以在datacolchanged事件写 e.DataRow.Save |
||||||||
-- 作者:huhu -- 发布时间:2016/4/11 10:57:00 -- 保存过的。 另外导入txt。能正常统计。 导入excel。就不统计。
|