/// <summary> /// Writes csv content to a stream /// </summary> /// <param name="csvFile">CsvFile</param> /// <param name="stream">Stream</param> /// <param name="encoding">Encoding</param> public void WriteCsv(ElencyCsvFile csvFile, Stream stream, Encoding encoding) { stream.Position = 0; _streamWriter = new StreamWriter(stream, encoding ?? Encoding.Default); WriteToStream(csvFile, _streamWriter); _streamWriter.Flush(); stream.Position = 0; }
/// <summary> /// Writes the Csv File /// </summary> /// <param name="csvFile">CsvFile</param> /// <param name="writer">TextWriter</param> private void WriteToStream(ElencyCsvFile csvFile, TextWriter writer) { if (csvFile.Headers.Count > 0) { WriteRecord(csvFile.Headers, writer); } csvFile.Records.ForEach(record => WriteRecord(record.Fields, writer)); }
/// <summary> /// Writes csv content to a file /// </summary> /// <param name="csvFile">CsvFile</param> /// <param name="filePath">File path</param> /// <param name="encoding">Encoding</param> public void WriteCsv(ElencyCsvFile csvFile, string filePath, Encoding encoding) { if (File.Exists(filePath)) { File.Delete(filePath); } using (StreamWriter writer = new StreamWriter(filePath, false, encoding ?? Encoding.Default)) { WriteToStream(csvFile, writer); writer.Flush(); writer.Close(); } }
/// <summary> /// Writes csv content to a string /// </summary> /// <param name="csvFile">CsvFile</param> /// <param name="encoding">Encoding</param> /// <returns>Csv content in a string</returns> public string WriteCsv(ElencyCsvFile csvFile, Encoding encoding) { string content = string.Empty; using (MemoryStream memoryStream = new MemoryStream()) { using (StreamWriter writer = new StreamWriter(memoryStream, encoding ?? Encoding.Default)) { WriteToStream(csvFile, writer); writer.Flush(); memoryStream.Position = 0; using (StreamReader reader = new StreamReader(memoryStream, encoding ?? Encoding.Default)) { content = reader.ReadToEnd(); writer.Close(); reader.Close(); memoryStream.Close(); } } } return(content); }
/// <summary> /// Writes csv content to a file /// </summary> /// <param name="csvFile">CsvFile</param> /// <param name="filePath">File path</param> public void WriteCsv(ElencyCsvFile csvFile, string filePath) { WriteCsv(csvFile, filePath, null); }
/// <summary> /// Writes csv content to a stream /// </summary> /// <param name="csvFile">CsvFile</param> /// <param name="stream">Stream</param> public void WriteCsv(ElencyCsvFile csvFile, Stream stream) { WriteCsv(csvFile, stream, null); }