2013年11月3日 星期日

VB.NET 讀取CSV檔

參考引用
--
  1. Dim CsvImport As New OpenFileDialog()
  2.  
  3. If CsvImport.ShowDialog = Windows.Forms.DialogResult.OK Then
  4.  
  5. '先把CSV變成TXT檔,再去Parse
  6. My.Computer.FileSystem.CopyFile(CsvImport.FileName, CsvImport.FileName.Replace("csv", "txt"))
  7. Dim input = My.Computer.FileSystem.OpenTextFieldParser(CsvImport.FileName.Replace("csv", "txt"))
  8.  
  9. '原本的CSV是用欄位隔開的不過轉成Txt後就自動用,號分隔,所以要用這行判斷
  10. input.SetDelimiters(",")
  11.  
  12. '把資料讀進去ArrayList
  13. Dim rows As New ArrayList
  14.  
  15. '先把第一列Title讀掉
  16. Dim title() As String
  17. title = input.ReadFields()
  18.  
  19. While (Not input.endofdata)
  20. rows.Add(input.ReadFields)
  21. End While
  22.  
  23. End if
  24. '要抓的資料
  25. '就像這樣rows(i)(0)=第 i 列第 1 欄的資料 

3 則留言:

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

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

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

    回覆刪除