2013年11月3日 星期日

VB.NET 讀取CSV檔

參考引用
--
Dim CsvImport As New OpenFileDialog()

        If CsvImport.ShowDialog = Windows.Forms.DialogResult.OK Then

            '先把CSV變成TXT檔,再去Parse
            My.Computer.FileSystem.CopyFile(CsvImport.FileName, CsvImport.FileName.Replace("csv", "txt"))
            Dim input = My.Computer.FileSystem.OpenTextFieldParser(CsvImport.FileName.Replace("csv", "txt"))

            '原本的CSV是用欄位隔開的不過轉成Txt後就自動用,號分隔,所以要用這行判斷
            input.SetDelimiters(",")

            '把資料讀進去ArrayList
            Dim rows As New ArrayList

            '先把第一列Title讀掉
            Dim title() As String
            title = input.ReadFields()

            While (Not input.endofdata)
                rows.Add(input.ReadFields)
            End While

       End if
 
'要抓的資料
'就像這樣rows(i)(0)=第 i 列第 1 欄的資料 

3 則留言:

  1. 好像有一個叫CSV Reader的Library可以更方便的處理CSV檔喔

    回覆刪除
    回覆
    1. 喔喔,好的! 謝謝
      我會去找找研究一下

      刪除
  2. 這段程式碼很簡潔,可否再加上挑選幾個欄位,然後輸出到另一個csv檔案,就更加完美了!!

    回覆刪除