【问题标题】:How to import excel file into MySQL using openfiledialog如何使用 openfiledialog 将 excel 文件导入 MySQL
【发布时间】:2015-12-16 02:39:48
【问题描述】:

我想要一个可以浏览 Excel 文件的按钮。我希望将里面的数据插入到我的 mysql 数据库中。我已经有一个按钮,它已经可以浏览和选择一个文件。将excel中的数据插入mysql数据库时遇到问题。

 Dim fname As String = label1.Text
    Try
        If label1.Text = "" Then

        Else

            ' Code to Import from Excel in to database.
            Dim dbFileName As String = fname
            Dim insertSql As String = "INSERT INTO tbl1 SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;HDR=yes;Database=" + dbFileName + "',[Sheet1$])"

            MySqlCmd = New MySqlCommand
            MySqlCmd.Connection = Myconnect
            MySqlCmd.CommandText = insertSql
            MySqlCmd.ExecuteNonQuery()

            MsgBox("import successful")
        End If

    Catch ex As Exception

    End Try

这是我迄今为止搜索和尝试过的,但插入部分不起作用。

【问题讨论】:

  • 首先你需要将它读入你的应用程序,对吧?
  • 抱歉,将其读入我的应用程序是什么意思?谢谢
  • I am having problems... 显示您正在使用的代码以及问题所在。我们无法从那种模糊的描述开始
  • 我刚刚编辑了我的帖子。我包含了代码
  • 您拥有的代码无法正常工作。查看我的答案,一步一步来

标签: mysql vb.net excel openfiledialog


【解决方案1】:

这是应该为您指明正确方向的答案。

您的目标:从 Excel 工作表中获取数据并将其加载到 MySql DB 中

第 1 部分。 打开文件对话框

Answer: 只需要在选择文件后从中获取文件名

第 2 部分。 读取文件

答案:使用Microsof.Ace.OleDb.vXXX提供程序从excel中读取数据。使用此提供程序,您可以像使用数据库一样使用 excel。即您将打开connection [使用您在步骤1中获得的文件名],并使用command对象打开dataReader或填写dataSet

第 3 部分。 保存到 MySql

Answer:你将迭代读取器或数据表行并将数据插入 MySql。您将使用 .NET 的 MySql 数据提供程序

其他 cmets。

您可以使用几种技术来传输数据。最便宜的方法是在 Excel 上使用数据阅读器,在 MySql 上使用 ExecuteNonQueryINSERT。 您可以使用 MySql 端的数据适配器和查询构建器将模式加载到数据集并为数据适配器生成插入和更新 SQL。然后,您将记录插入数据表并调用.Update()。好的,真的,它可以完成的组合很少。但我会在 MySql 上坚持使用reader on Excel/command.ExecuteNonQuery

【讨论】:

    【解决方案2】:

    感谢您的所有 cmets 和回答!我已经得到了答案,我希望这对其他人有帮助!

    Try
    
            Dim conn As New Connection
            Dim rset As New Recordset
            Dim buff0 As String
            Dim buff1 As String
            Dim buff2 As String
            Dim buff3 As String
            Dim buff4 As String
            Dim buff5 As String
    
            conn.ConnectionString = "Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DriverId=790;Dbq=" & TextBox1.Text & ";" 'Driver={Microsoft Excel Driver (*.xls)};DriverId=790;Dbq=d:\temp\test.xls;"
            conn.Open()
            rset.Open("select * from [Sheet1$]", conn, CursorTypeEnum.adOpenForwardOnly)
            Do Until rset.EOF
                buff0 = rset(0).Value
                buff1 = rset(1).Value
                buff2 = rset(2).Value
                buff3 = rset(3).Value
                buff4 = rset(4).Value
                buff5 = rset(5).Value
    
                MySqlCmd = New MySqlCommand
                MySqlCmd.Connection = Myconnect
                MySqlCmd.CommandText = "INSERT INTO tbl1  VALUES('" & buff0 & "','" & buff1 & "','" & buff2 & "','" & buff3 & "','" & buff4 & "','" & buff5 & "')"
                MySqlCmd.ExecuteNonQuery()
                rset.MoveNext()
            Loop
            MsgBox("Import Successful!", MsgBoxStyle.Information, Title:="SOMS")
    
        Catch ex As Exception
    
            MsgBox("Import Unsuccessful!", MsgBoxStyle.Critical, Title:="SOMS")
    
        End Try
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-13
      • 1970-01-01
      • 2015-10-17
      • 2019-03-30
      • 1970-01-01
      • 2017-03-31
      • 1970-01-01
      • 2013-04-26
      相关资源
      最近更新 更多