internal protected override void Export(WaitProgressForm wait) { wait.Message = "Initalize"; DoWorkCorrectly = true; StreamWriter streamWriter = null; FileStream fs = null; CsvExport exporter = new CsvExport(delimiter, Data, ExportWithColumnName); try { if (File.Exists(fileName)) { File.Delete(fileName); } if (File.Exists(fileName)) { File.Delete(fileName); } wait.Message = "Create CSV Format"; fs = new FileStream(fileName, FileMode.CreateNew); streamWriter = new StreamWriter(fs, System.Text.Encoding.UTF8); exporter.Progress += (s, e) => { wait.Value = e.CurrentIndex; if (CancelWork) { exporter.CancelWork = true; } }; exporter.Convert(streamWriter); streamWriter.Flush(); fs.Flush(); streamWriter.Close(); fs.Close(); } catch { DoWorkCorrectly = false; if (fs != null) { if (streamWriter != null) { streamWriter.Close(); } fs.Close(); } } }
private void btnExportCSV_Click(object sender, EventArgs e) { SaveFileDialog sv = new SaveFileDialog { Title = "Save for CSV export", Filter = "CSV file|*.csv|All files|*.*", FilterIndex = 0 }; if (sv.ShowDialog() == DialogResult.OK) { CsvExport export = new CsvExport("\t", table, chbxWithColName.Checked); string content = export.Convert(); File.WriteAllText(sv.FileName, content, Encoding.UTF8); //Use Encoding for Add BOM } }