当前位置:编程学习 > C#/ASP.NET >>

如何将Excel中的数据导入到DataGridView中

如何将Excel中的数据导入到DataGridView中显示,然后保存到数据库.   
    
  即先在DataGridView显示后保存   
    
    
  请问如何显示?? 
--------------------编程问答-------------------- 先打开 
http://topic.csdn.net/u/20100319/14/eff9c973-bcdf-4297-8b86-0df14f440521.html
在12楼有代码
用这个方法存储到DataGridView里,
再个DataGridView存储到数据库 --------------------编程问答-------------------- 读EXCEL:
 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        'Dim myStream As System.IO.Stream
        OpenFileDialog1.InitialDirectory = My.Computer.FileSystem.CurrentDirectory
        OpenFileDialog1.Filter = "excel files (*.xls)|*.xls|All files (*.*)|*.*"
        OpenFileDialog1.FilterIndex = 2
        OpenFileDialog1.RestoreDirectory = True
        If OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
            Dim fileName As String
            fileName = Me.OpenFileDialog1.FileName
            '建立EXCEL连接,读入数据
            Dim strConn As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" & fileName & "';Extended Properties=Excel 8.0;"
            'Dim myDataset As New DataSet
            Dim da As New OleDb.OleDbDataAdapter("SELECT * FROM [Sheet1$]", strConn)
            Try
                da.Fill(myDataset)
                Me.DataGridView1.DataSource = myDataset.Tables(0)
            Catch ex As Exception
                MsgBox(ex.Message.ToString)
            End Try
        End If
    End Sub

写入SQL:

  Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        '建立SQL连接,写入数据
        Dim sqlconnection1 As New SqlConnection
        Dim sconnstring As String = "server=su;uid=sa;pwd=;database=XXX"
        sqlconnection1.ConnectionString = (sconnstring)
        sqlconnection1.Open()
        myDataset.Tables(0).Columns.Add("结果")
        Dim i, j As New Integer
        i = myDataset.Tables(0).Rows.Count - 1
        j = 0
        'i = Me.DataGridView1.RowCount
        'j = Me.DataGridView1.ColumnCount
        Me.ProgressBar1.Visible = True
        ProgressBar1.Maximum = i

        For i = 0 To i
            Try
                Dim insertstr As String = "insert into customer (ccuscode,ccusname,ccccode,cCusExch_name,dCusDevDate,cCusAbbName) values ('" + myDataset.Tables(0).Rows(i).Item(0).ToString + "','" + myDataset.Tables(0).Rows(i).Item(1).ToString + "','" + myDataset.Tables(0).Rows(i).Item(2).ToString + "','" + myDataset.Tables(0).Rows(i).Item(3).ToString + "','" + myDataset.Tables(0).Rows(i).Item(4).ToString + "','" + myDataset.Tables(0).Rows(i).Item(5).ToString + "')"

                Dim cmd As SqlCommand = New SqlCommand(insertstr, sqlconnection1)
                cmd.ExecuteNonQuery()
                myDataset.Tables(0).Rows(i).Item("结果") = "写入成功"
                j = j + 1
            Catch ex As Exception
                myDataset.Tables(0).Rows(i).Item("结果") = ex.Message.ToString
                'MsgBox(ex.Message.ToString)
            End Try
            ProgressBar1.Value = i
        Next
        ProgressBar1.Visible = False
        MsgBox("成功导入" & j & "条记录")
        sqlconnection1.Close()
    End Sub

输出结果到EXCEL:

....

--------------------编程问答-------------------- Dim fileName As String
Me.OpenFileDialog1.Filter = "Excle文件(*.xls)|*.xls"
If Me.OpenFileDialog1.ShowDialog() = DialogResult.OK Then
fileName = Me.OpenFileDialog1.FileName
Dim strConn As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" & fileName & "';Extended Properties=Excel 8.0;"
Dim myDataset As New DataSet
Dim da As New OleDbDataAdapter("SELECT * FROM [Sheet1$]", strConn)
Try
da.Fill(myDataset)
Me.DataGrid1.DataSource = myDataset.Tables(0)
Catch ex As Exception
MsgBox(ex.Message.ToString)
End Try
End If
--------------------编程问答-------------------- 3楼方便,实用,快捷,我的代码与之不在一个层面上,
学习了

--------------------编程问答-------------------- 请问3楼,怎样将导入到datagridview中的数据保存到数据库中呢?
补充:.NET技术 ,  VB.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,