C# 데이터그리드뷰 CSV 파일로 저장하기
private void Save_Csv(string fileName, DataGridView dgv, bool header)
{
string delimiter = "`"; // 구분자
FileStream fs = new FileStream(fileName, System.IO.FileMode.Create, System.IO.FileAccess.Write);
StreamWriter csvExport = new StreamWriter(fs, System.Text.Encoding.UTF8);
if (dgv.Rows.Count == 0) return;
// 헤더정보 출력
if (header)
{
for (int i = 0; i < dgv.Columns.Count; i++)
{
csvExport.Write(dgv.Columns[i].HeaderText);
if (i != dgv.Columns.Count - 1)
{
csvExport.Write(delimiter);
}
}
}
csvExport.Write(csvExport.NewLine); // add new line
// 데이터 출력
foreach (DataGridViewRow row in dgv.Rows)
{
if (!row.IsNewRow)
{
for (int i = 0; i < dgv.Columns.Count; i++)
{
csvExport.Write(row.Cells[i].Value);
if (i != dgv.Columns.Count - 1)
{
csvExport.Write(delimiter);
}
}
csvExport.Write(csvExport.NewLine);
}
}
csvExport.Flush();
csvExport.Close();
fs.Close();
MessageBox.Show("CSV파일 저장 완료!");
}