首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

WinForms 讀取 CSV 文件並顯示在 DataGridView 中

     編輯:程式設計綜合問答

在 Windows Forms 應用中,點擊按鈕讀取本地 CSV 文件並綁定到 DataGridView 是常見需求。本文提供完整實現步驟與代碼示例。

實現思路

  1. 使用 OpenFileDialog 選擇 CSV 文件(或固定路徑)
  2. 逐行讀取文件內容,按分隔符(逗號/制表符)分割
  3. 構建 DataTable,動態添加列並填充行數據
  4. 將 DataTable 賦值給 DataGridView.DataSource

核心代碼示例

private void btnReadCsv_Click(object sender, EventArgs e) {
  using (OpenFileDialog ofd = new OpenFileDialog()) {
    ofd.Filter = "CSV文件|*.csv|所有文件|*.*";
    if (ofd.ShowDialog() == DialogResult.OK) {
      DataTable dt = new DataTable();
      string[] lines = File.ReadAllLines(ofd.FileName, Encoding.Default);
      if (lines.Length > 0) {
        // 假設第一行是標題
        string[] headers = lines[0].Split(',');
        foreach (string h in headers) dt.Columns.Add(h.Trim());
        // 數據行
        for (int i = 1; i < lines.Length; i++) {
          string[] fields = lines[i].Split(',');
          DataRow row = dt.NewRow();
          for (int j = 0; j < fields.Length && j < dt.Columns.Count; j++)
            row[j] = fields[j].Trim();
          dt.Rows.Add(row);
        }
      }
      dgv.DataSource = dt;
    }
  }
}

進階處理建議

  • 編碼自動檢測:CSV 可能是 UTF-8、GB2312 等,建議用 StreamReader 配合 CurrentEncoding 檢測
  • 字段包含逗號/換行:簡單 Split(',') 會出錯,生產環境建議用 TextFieldParser (Microsoft.VisualBasic.FileIO) 或 CsvHelper 庫
  • 大文件分頁:超過萬行時考慮虛擬模式或分批加載

參考資源

C# 讀取 CSV 到 DataGridView 完整教程

掌握基本流程後,根據業務複雜度選擇手寫解析或引入成熟庫。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved