Foxtable(狐表)用户栏目专家坐堂 → fields指定引入列失败


  共有36人关注过本帖树形打印复制链接

主题:fields指定引入列失败

帅哥,在线噢!
zjykyy
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:5 积分:155 威望:0 精华:0 注册:2024/9/6 12:34:00
fields指定引入列失败  发帖心情 Post By:2025/5/3 2:49:00 [只看该作者]

从excel文件合并到销售单,只需要合并指定列,以下代码保存错误,请老师帮忙看看哪里不对。是否因为excel列名中包含"*"导致错误,*号是erp中引出就有的,手工删除会很麻烦

Dim dlg As New OpenFileDialog
dlg.Filter = "Excel文件|*.xls;*.xlsx"
If dlg.ShowDialog =DialogResult.OK Then    
        Dim mg As New Merger
        mg.SourcePath = dlg.FileName
        mg.SourceTableName = "Sheet1"
        mg.DataTableName = "销售单"
        mg.Fields(商品编码,商品名称,规格,单位,*销售数量,销售金额,*生产批号,生产日期,有效期至)      
        mg.Merge()
End If

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:113669 积分:578894 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/5/4 13:21:00 [只看该作者]

列名不能包含特殊符号。

可以使用代码把*号去掉再导。

Dim dlg As New OpenFileDialog
dlg.Filter = "Excel文件|*.xls;*.xlsx"
If dlg.ShowDialog =DialogResult.OK Then  
Dim Book As New XLS.Book(dlg.FileName)
Dim Sheet As XLS.Sheet = Book.Sheets(0)
  For n As Integer = 1 To Sheet.Cols.Count -1
   Sheet(n,m).Value = Sheet(n,m).Value.replace("*","")
Next
Book.Save(dlg.FileName)
        Dim mg As New Merger
        mg.SourcePath = dlg.FileName
        mg.SourceTableName = "Sheet1$"
        mg.DataTableName = "销售单"
if  dlg.FileName.endswith(".xls")
mg.Format = "excel" '指定格式
else
mg.Format = "excel2007" '指定格式
end if
        mg.Fields(商品编码,商品名称,规格,单位,销售数量,销售金额,生产批号,生产日期,有效期至)      
        mg.Merge()
End If

 回到顶部