반응형
1. 원인 : CSV파일 출력 내용중에서 콤마(,)를 포함할 경우에는 열이 추가로 생성되는 문제가 발생할 수 있습니다.
2. 해결방법 : CSV파일 출력 내용을 ""포함해서(예 ”내용”) 설정해주면 정상적으로 행과 열이 일치하게 됩니다.
3. 샘플코드
// CSV파일생성
using (var streamWriter = new StreamWriter(filePath, false, Encoding.GetEncoding("Shift_JIS")))
{
// DataGrid헤더(컬럼)행출력
streamWriter.WriteLine(string.Join(",", DataGrid.Columns.Select(e => e.Header)));
// DataGrid내용행 출력
foreach (var itemSource in DataGrid.ItemsSource)
{
// DataGrid내용행 리스트 취득
var values = itemSource.ToList();
// DataGrid컬럼별 설정값 취득
for (int i = 0; i < values.Count(); i++)
{
//DataGrid컬럼별 설정값을 ""안으로 넣어서 문자열화시킴
values[i] = (object)(string.Format("\"{0}\"", values[i]));
}
// DataGrid컬럼별 설정값행을 출력
streamWriter.WriteLine(string.Join(",", values));
}
}
반응형
'WPF' 카테고리의 다른 글
WPF를 사용해서 API를 작성하는 방법 (0) | 2023.10.15 |
---|---|
WPF 성능향상 방법 (0) | 2023.08.31 |
WPF에서 Progress loading 처리 방법 (0) | 2022.03.14 |
TextBlock의 Text의 Inlines 추가 Text의 색상지정 (0) | 2022.02.24 |
DataGrid의 DataGridTemplateColumn안에서 Control (TextBlock)찾기 (0) | 2022.02.24 |
댓글