首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用odbc excel驱动程序转换数据类型

使用odbc excel驱动程序转换数据类型
EN

Stack Overflow用户
提问于 2011-02-04 16:32:26
回答 2查看 13K关注 0票数 1

我使用Microsoft Excel驱动程序将Excel文档导入到adodb.recordset中,这样我就可以删除重复的行并将其放入SQL Server数据库。

第一列具有192、13U、JJJ等值,但是由于某种原因,查询将其转换为双精度值,并且任何具有alpha值的行都将转换为Null。据我所知,这是因为多数类型是数字而不是文本。

我试着转换它,但得到一个错误。

下面是我的函数:

代码语言:javascript
运行
AI代码解释
复制
Function Read_Excel(ByVal sFile As String) As ADODB.Recordset
    On Error GoTo fix_err
    Dim rs As ADODB.Recordset
    rs = New ADODB.Recordset
    Dim sconn As String

    rs.CursorLocation = ADODB.CursorLocationEnum.adUseClient
    rs.CursorType = ADODB.CursorTypeEnum.adOpenKeyset
    rs.LockType = ADODB.LockTypeEnum.adLockBatchOptimistic

    sconn = "DRIVER=Microsoft Excel Driver (*.xls); ImportMixedTypes=Text; " & "DBQ=" & sFile & ";Extended Properties='Excel 8.0;HDR=No;IMEX=1';"
    rs.Open("SELECT Code, Description FROM [sheet1$]", sconn)
    tot += rs.RecordCount
    rs.Close()
    rs.Open("SELECT Distinct * FROM [sheet1$]", sconn)
    Read_Excel = rs
    rs = Nothing
    Exit Function
fix_err:
    Debug.Print(Err.Description + " " + _
                Err.Source, vbCritical, "Import")
    Err.Clear()
End Function

有没有一种方法可以很容易地将第一列作为文本?

编辑:当我尝试"SELECT cast(RPOCode as varchar(10)), Description FROM [sheet1$]"时,我得到了这个错误

“查询表达式'cast(Code as varchar)‘中出现Microsoft语法错误(缺少运算符)。Microsoft OLE DB Provider for ODBC Drivers”

我尝试了varchar、varchar(10)和text作为转换类型,结果相同。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-04 16:57:04

尝试:

代码语言:javascript
运行
AI代码解释
复制
 rs.Open("SELECT CStr([Code]), Description FROM [sheet1$]", sconn)

Cast在Jet/ACE SQL中不可用。

票数 4
EN

Stack Overflow用户

发布于 2011-02-04 17:08:19

我最终尝试了ACE连接字符串,而不是Microsoft Excel驱动程序的连接字符串。

代码语言:javascript
运行
AI代码解释
复制
sconn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & sFile & ";Extended Properties=""Excel 12.0;HDR=YES;IMEX=1"";"

并确保IMEX=1部分在里面。我认为Microsoft Excel驱动程序没有正确使用扩展属性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4900418

复制
相关文章

相似问题

领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文