以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]用Importer方法导入出现错误且导入不成功  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=149523)

--  作者:zxlid
--  发布时间:2020/5/5 10:55:00
--  [求助]用Importer方法导入出现错误且导入不成功
各位大师,本人用Importer导入一个excel文件时出现错误,且导入不成功,出现如下错误:“ELECT 子句中包含一个保留字、拼写错误或丢失的参数,或标点符号不正确”
但用手工导入又可以。请问如何解决?
[此贴子已经被作者于2020/5/5 10:59:48编辑过]

--  作者:有点蓝
--  发布时间:2020/5/5 11:04:00
--  
写了什么代码?贴出来看看

Dim ip as New Importer
ip
.SourcePath = "c:\\Data\\销售管理.xls" \'指定数据文件
ip
.SourceTableName = "订单" \'指定要导入的表
ip
.NewTableName ="订单" \'导入后的表名
ip.Format = "Excel" 
\'指定导入格式

ip
.Import()

--  作者:zxlid
--  发布时间:2020/5/5 11:45:00
--  

20200504导入每个月的excel文件

Dim dlg As New FolderBrowserDialog

Dim ml As String

If dlg.ShowDialog = DialogResult.Ok Then

    ml = dlg.SelectedPath

End If

 

For Each file As String In filesys .GetFiles(ml)

    If file.EndsWith(".xls") OrElse file.EndsWith(".xlsx") Then

        output.Show("正在处理: " & file)

        Dim ip As New Importer

        ip.SourcePath = file  \'指定数据文件

        ip.SourceTableName = "Sheet2"

        ip.Fields = "个人编号,民政排序,数量,农村五保户,城市三无,建档立卡的贫困人口,省定扶贫标准下的低保对象,农村低保户,特困大学生,城市低保户,困难大学生,计划生育特殊家庭成员,重度残疾人,重点优抚,革命五老,五老遗属,独子户,独女户,二女户,残疾人,孤儿,民政最高救助类型,姓名,身份证,参保状态,险种,账目参保身份,到账来源,乡村组,乡镇,账目分中心,民政区县"

        Dim bm As String = "医保" & file.SubString(49,8)

        If DataTables.Contains(bm)

            MessageBox.Show(bm & "存在同名表!")

            ip.NewTableName = bm & "_02"

        Else

            ip.NewTableName = bm

        End If

        ip.Format = "Excel" \'指定导入格式

        ip.Import()

    End If

Next


--  作者:有点蓝
--  发布时间:2020/5/5 11:53:00
--  
p.Format = "Excel" \'指定导入格式

改为

if file.EndsWith(".xls"
p.Format = "Excel" \'指定导入格式
else
p.Format = "Excel2007" \'指定导入格式
end if

--  作者:zxlid
--  发布时间:2020/5/5 12:47:00
--  
老师,还是不行,不知啥原因。
--  作者:有点蓝
--  发布时间:2020/5/5 13:45:00
--  
自行调试,确定所有文件表名,sheet名称是否正确。

或者上传实例测试

--  作者:zxlid
--  发布时间:2020/5/5 16:22:00
--  
调试了,是表名问题,谢谢老师!