none
請問如何將excel 或是 txt 當作資料來源且放入到DataGridView中?? RRS feed

  • 問題

  •  

    請問要如何將excel 或是 txt 當作資料來源且放入到DataGridView中??

     

     

    可以使用dataset方式一次寫入嗎??而不要使用迴圈嗎??
    2008年4月19日 上午 07:17

解答

  •  

    :::excel檔,第一行為欄位名稱

            Dim cn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\ABC.XLS;Extended Properties=Excel 8.0")
            cn.Open()
            Dim cmd As New OleDbCommand("SELECT * FROM [Sheet1$]", cn)
            Dim da As New OleDbDataAdapter
            Dim ds As New DataSet

            da.SelectCommand = cmd
            da.Fill(ds, "abc")

            DataGridView1.DataSource = ds.Tables("abc")

    2008年4月19日 上午 09:02
  •  

    :::文字檔,第一行為欄位名稱,檔名為abc.txt,內容為

    col1,col2
    1,a
    2,b
    3,c
    4,d
    5,e

    程式如下:

    Imports System.Data.Odbc
    Public Class Form1

        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Dim cn As New OdbcConnection("Driver={Microsoft Text Driver (*.txt; *.csv)};dbq=c:\")
            Dim cmd As New OdbcCommand("Select * from abc.txt", cn)
            Dim da As New OdbcDataAdapter
            Dim ds As New DataSet

            da.SelectCommand = cmd
            da.Fill(ds, "abc")

            DataGridView1.DataSource = ds.Tables("abc")
        End Sub
    End Class

    2008年4月20日 上午 03:04

所有回覆

  • Excel / Text 都可以用 OleDb / Odbc 作為資料來源,Excel 比較簡單,只要符合資料庫架構就可以,Text 要另外做個 ini 檔,不太好用。

     

    你到

    http://www.connectionstrings.com/

     

    就有 Excel / Text 的連線字串及範例可查詢。

     

    2008年4月19日 上午 08:54
    版主
  •  

    :::excel檔,第一行為欄位名稱

            Dim cn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\ABC.XLS;Extended Properties=Excel 8.0")
            cn.Open()
            Dim cmd As New OleDbCommand("SELECT * FROM [Sheet1$]", cn)
            Dim da As New OleDbDataAdapter
            Dim ds As New DataSet

            da.SelectCommand = cmd
            da.Fill(ds, "abc")

            DataGridView1.DataSource = ds.Tables("abc")

    2008年4月19日 上午 09:02
  • 好吧~~那我只好寫迴圈將

    TXT掃入datagrid中...只是說這樣似乎效能不太好

    因為資料太多

    2008年4月19日 上午 11:12
  •  

    :::文字檔,第一行為欄位名稱,檔名為abc.txt,內容為

    col1,col2
    1,a
    2,b
    3,c
    4,d
    5,e

    程式如下:

    Imports System.Data.Odbc
    Public Class Form1

        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Dim cn As New OdbcConnection("Driver={Microsoft Text Driver (*.txt; *.csv)};dbq=c:\")
            Dim cmd As New OdbcCommand("Select * from abc.txt", cn)
            Dim da As New OdbcDataAdapter
            Dim ds As New DataSet

            da.SelectCommand = cmd
            da.Fill(ds, "abc")

            DataGridView1.DataSource = ds.Tables("abc")
        End Sub
    End Class

    2008年4月20日 上午 03:04
  • 恩恩感謝大大這樣確實快多ㄌ

    不然將龐大的資料匯入到gridview中幾乎都快不能動ㄌ

    2008年4月23日 下午 03:28