none
求助:EXCEL与ACCESS之间数据导入与导出的问题 RRS feed

  • 问题

  • 在ACCESS中有一个表TEST,有165个字段,需要导出成EXCEL,修改部分数据后,再导回到数据库的原表中,请问大家用VB.NET怎么实现.附上我的代码:

            Dim conn As New ADODB.Connection
            Dim successout As Boolean = False
            LogChance()
            If LogFileName <> "" Then
                Dim ExcelPath As String = LogFileName
                If ExtenName = ".xls" Then
                    conn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" & ExcelPath & "';Extended Properties=Excel 8.0;")
                End If
                Dim strSQL As String
                strSQL = "Insert Into [;database=" & DataPath & "]." & TableName & " Select * FROM [" & TableName & "$]"
                Try
                    conn.Execute(strSQL)
                    successout = True
                    MsgBox("数据导入完毕", MsgBoxStyle.Information, "提示信息")
                Catch ex As Exception
                    MsgBox(ex.Message, MsgBoxStyle.Exclamation, "提示信息")
                    successout = False
                    conn = Nothing
                    Exit Sub
                Finally
                    conn = Nothing
                End Try
            Else
                successout = False
                MsgBox("请选择文件", MsgBoxStyle.Exclamation, "提示信息")
                conn = Nothing
                Exit Sub
            End If

    存在的一个问题是,在EXCEL中修改了数据以后.传回数据库中,个别数据进不去,我觉得可能是数据格式的问题,如果要是把每个字段都列出来的话,太多了,请教大家有没有什么好的方法.

    2010年12月24日 12:40

答案

  • 我想你一定是遇到了数字与字符的问题。

    在从EXCEL导入到ACCESS前,建议将EXCEL中每个单元格前加上“'”,问题就会得到解决。

    我也遇到过的。就这么解决。后来好象在孟老师的“孟子E章”中也看到过的。


    学无止境
    2010年12月25日 8:12
  • 你好,

    除了字符格式在Insert中需要注意加上 单引号号外,我们可能还需要主要是否将那些KeyWord当作了列名,这个时候需要在列名上用方括号括起来.

    不过对于Excel和Access之间的数据交换,微软有篇帮助文档也许对你有用:http://office.microsoft.com/zh-cn/excel-help/HA010096300.aspx

    对于将Excel数据导回Access,我个人认为,直接使用Access的导入外部数据功能会比较好一点。

    致,


    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2010年12月29日 6:47
    版主

全部回复

  • 我想你一定是遇到了数字与字符的问题。

    在从EXCEL导入到ACCESS前,建议将EXCEL中每个单元格前加上“'”,问题就会得到解决。

    我也遇到过的。就这么解决。后来好象在孟老师的“孟子E章”中也看到过的。


    学无止境
    2010年12月25日 8:12
  • 你好,

    除了字符格式在Insert中需要注意加上 单引号号外,我们可能还需要主要是否将那些KeyWord当作了列名,这个时候需要在列名上用方括号括起来.

    不过对于Excel和Access之间的数据交换,微软有篇帮助文档也许对你有用:http://office.microsoft.com/zh-cn/excel-help/HA010096300.aspx

    对于将Excel数据导回Access,我个人认为,直接使用Access的导入外部数据功能会比较好一点。

    致,


    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2010年12月29日 6:47
    版主