在 Windows Forms 應用中,點擊按鈕讀取本地 CSV 文件並綁定到 DataGridView 是常見需求。本文提供完整實現步驟與代碼示例。
OpenFileDialog 選擇 CSV 文件(或固定路徑)DataTable,動態添加列並填充行數據DataTable 賦值給 DataGridView.DataSourceprivate 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;
}
}
}
StreamReader 配合 CurrentEncoding 檢測Split(',') 會出錯,生產環境建議用 TextFieldParser (Microsoft.VisualBasic.FileIO) 或 CsvHelper 庫掌握基本流程後,根據業務複雜度選擇手寫解析或引入成熟庫。