/// <summary> /// Writes the CSV data into the stream. /// </summary> /// <typeparam name="T"></typeparam> /// <param name="stream">The stream.</param> /// <param name="definition">The definition.</param> /// <param name="rows">The rows.</param> public static void Write <T>(Stream stream, CsvDefinition <T> definition, T[] rows) { var builder = new CsvStreamWriter(); builder.Write <T>(stream, rows, definition); }
/// <summary> /// Reads the specified stream. /// </summary> /// <typeparam name="TRow">The type of the row.</typeparam> /// <param name="stream">The stream.</param> /// <param name="definition">The definition.</param> /// <returns></returns> public static TRow[] ReadXlsx <TRow>(this CsvDefinition <TRow> definition, Stream stream) where TRow : new() { var mapper = new TableDataMapper <TRow>(definition); return(mapper.ReadXlsx(stream).ToArray()); }
/// <summary> /// Reads the CSV document back into an array. /// </summary> /// <typeparam name="TRow">The type of the row.</typeparam> /// <param name="definition">The definition.</param> /// <param name="stream">The stream.</param> /// <returns></returns> public static TRow[] ReadStream <TRow>(this CsvDefinition <TRow> definition, Stream stream) where TRow : new() { return(CsvReader.Read <TRow>(stream, definition)); }
/// <summary> /// Writes the CSV data into a new stream and returns it. /// </summary> /// <typeparam name="T"></typeparam> /// <param name="definition">The definition.</param> /// <param name="rows">The rows.</param> /// <returns> A MemoryStream object containing the rendered CSV data.</returns> public static MemoryStream CreateStream <T>(CsvDefinition <T> definition, T[] rows) { return(definition.WriteAsCsv <T>(rows)); }
/// <summary> /// Writes the CSV document into the stream. /// </summary> /// <typeparam name="TRow"></typeparam> /// <param name="stream">The stream.</param> /// <param name="definition">The definition.</param> /// <param name="rows">The rows.</param> public static void WriteStream <TRow>(this CsvDefinition <TRow> definition, Stream stream, TRow[] rows) { CsvWriter.Write(stream, definition, rows); }
/// <summary> /// Writes the CSV document into a new stream and returns it. /// </summary> /// <typeparam name="TRow"></typeparam> /// <param name="definition">The definition.</param> /// <param name="rows">The rows.</param> /// <returns></returns> public static MemoryStream CreateStream <TRow>(this CsvDefinition <TRow> definition, TRow[] rows) { return(CsvWriter.CreateStream(definition, rows)); }
/// <summary> /// Reads the specified stream. /// </summary> /// <typeparam name="TRow">The type of the row.</typeparam> /// <param name="stream">The stream.</param> /// <param name="definition">The definition.</param> /// <param name="detectEncodig">if set to <c>true</c> detects the byte encodig.</param> /// <returns></returns> public static TRow[] Read <TRow>(Stream stream, CsvDefinition <TRow> definition, bool detectEncodig) where TRow : new() { var mapper = new TableDataMapper <TRow>(definition); return(mapper.FromStream(stream, definition.Encoding, detectEncodig)); }
/// <summary> /// Reads the specified stream. /// </summary> /// <typeparam name="TRow">The type of the row.</typeparam> /// <param name="stream">The stream.</param> /// <param name="definition">The definition.</param> /// <returns></returns> public static TRow[] Read <TRow>(Stream stream, CsvDefinition <TRow> definition) where TRow : new() { return(Read(stream, definition, false)); }
/// <summary> /// Writes the CSV data into the stream. /// </summary> /// <typeparam name="T"></typeparam> /// <param name="definition"></param> /// <param name="stream"></param> /// <param name="rows"></param> /// <param name="name"> Name of the document, 'Document' by default. </param> public static void WriteAsXlsx <T>(this CsvDefinition <T> definition, T[] rows, Stream stream, string name = "Document") { var builder = new XlsxStreamWriter(name); builder.Write <T>(stream, rows, definition); }