public void Reading_WithStringBasedProperty_ReturnsResult() { var def = new CsvDefinition <TestModel>(new TextCsvColumn <TestModel>("Name")) { FirstRowContainsHeaders = true, ElementDelimiter = ";", HasFieldsEnclosedInQuotes = true, Encoding = Encoding.UTF8 }; var data = "\"Name\";\"TestColors\"\r\n\"OK_NAME\";\"Red\""; var mapper = new TableDataMapper <TestModel>(def); var result = mapper.FromStream(new MemoryStream(Encoding.UTF8.GetBytes(data))); Assert.AreEqual("OK_NAME", result[0].Name); }
/// <summary> /// /// </summary> /// <typeparam name="TRow"> Type of row to map to. </typeparam> /// <param name="mapper"> The mapper that provides value to object translation. </param> /// <param name="stream"> The stream to the file to read. </param> /// <returns></returns> public static CsvLine <TRow>[] ReadXlsxVerbose <TRow>(this TableDataMapper <TRow> mapper, Stream stream) where TRow : new() { var reader = new XlsxStreamReader(stream); return(mapper.GetRows(reader).ToArray()); }
/// <summary> /// Read a row from the file. /// </summary> /// <typeparam name="TRow"> Type of row to map to. </typeparam> /// <param name="mapper"> The mapper that provides value to object translation. </param> /// <param name="stream"> The stream to the file to read. </param> /// <returns></returns> public static TRow[] ReadXlsx <TRow>(this TableDataMapper <TRow> mapper, Stream stream) where TRow : new() { return(ReadXlsxVerbose(mapper, stream).Select(e => e.Row).ToArray()); }
/// <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 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)); }