Eksport dataTable do pliku CSV

Drobna funkcja ułatwiająca życie, czyli zapis danych z tabeli dataTable do pliku w formacie CSV( kolumny oddzielone tabulatorem, kodowanie UTF8 ).


 /// <summary>
 /// Obsługa zapisu danych z obiektu dataTable jako pliku CSV.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void zapiszDaneJakoCSV_Click(object sender, EventArgs e)
 {
 string Saved_File = "";

 SaveFileDialog saveFileDialog = new SaveFileDialog();
 saveFileDialog.Title = "Zapisz dane jako CSV";
 saveFileDialog.FileName = "Dane";
 saveFileDialog.Filter = "Plik .csv|*.csv";

 if (saveFileDialog.ShowDialog() == DialogResult.OK)
 {
 Saved_File = saveFileDialog.FileName;

 FileStream fs = new FileStream(Saved_File, FileMode.Create);
 StreamWriter sw = new StreamWriter(fs, Encoding.UTF8);

 int iColCount = obiektDataTable.Columns.Count;
 for (int i = 0; i < iColCount; i++)
 {
 sw.Write(obiektDataTable.Columns[i]);
 if (i < iColCount - 1)
 {
 sw.Write("\t");
 }
 }
 sw.Write(sw.NewLine);

 foreach (DataRow dr in obiektDataTable.Rows)
 {
 for (int i = 0; i < iColCount; i++)
 {
 if (!Convert.IsDBNull(dr[i]))
 {
 sw.Write(dr[i].ToString());
 }
 if (i < iColCount - 1)
 {
 sw.Write("\t");
 }
 }
 sw.Write(sw.NewLine);
 }
 sw.Close();

 }
 }

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.


*