/// <summary> /// Read in a single CSV file into a datatable in memory /// </summary> /// <param name="stream">The stream source from which to load the datatable.</param> /// <param name="settings">The CSV settings to use when exporting this array (Default: CSV)</param> /// <returns>An data table of strings that were retrieved from the CSV file.</returns> public static DataTable FromStream(StreamReader stream, CSVSettings settings = null) { using (CSVReader cr = new CSVReader(stream, settings)) { return(cr.ReadAsDataTable()); } }
/// <summary> /// Convert a CSV file (in string form) into a data table /// </summary> /// <param name="source"></param> /// <param name="settings">The CSV settings to use when exporting this array (Default: CSV)</param> /// <returns></returns> public static DataTable FromString(string source, CSVSettings settings = null) { byte[] byteArray = Encoding.UTF8.GetBytes(source); using (MemoryStream stream = new MemoryStream(byteArray)) { using (CSVReader cr = new CSVReader(new StreamReader(stream), settings)) { return(cr.ReadAsDataTable()); } } }
/// <summary> /// Convert a CSV file (in string form) into a data table /// </summary> /// <param name="source_string"></param> /// <param name="first_row_are_headers"></param> /// <param name="ignore_dimension_errors"></param> /// <returns></returns> public static DataTable LoadString(string source_string, bool first_row_are_headers, bool ignore_dimension_errors) { DataTable dt = null; byte[] byteArray = Encoding.ASCII.GetBytes(source_string); MemoryStream stream = new MemoryStream(byteArray); using (CSVReader cr = new CSVReader(new StreamReader(stream))) { dt = cr.ReadAsDataTable(first_row_are_headers, ignore_dimension_errors); } return(dt); }
/// <summary> /// Convert a CSV file (in string form) into a data table /// </summary> /// <param name="source"></param> /// <param name="settings">The CSV settings to use when exporting this array (Default: CSV)</param> /// <returns></returns> public static DataTable FromString(string source, CSVSettings settings = null) { if (settings == null) { settings = CSVSettings.CSV; } var byteArray = settings.Encoding.GetBytes(source); using (var stream = new MemoryStream(byteArray)) { using (var cr = new CSVReader(stream, settings)) { return(cr.ReadAsDataTable()); } } }
/// <summary> /// Read in a single CSV file into a datatable in memory /// </summary> /// <param name="filename"></param> /// <param name="delim">The CSV field delimiter character.</param> /// <param name="qual">The CSV text qualifier character.</param> /// <returns>An data table of strings that were retrieved from the CSV file.</returns> public static DataTable LoadDataTable(StreamReader stream, string[] headers, bool ignore_dimension_errors = true, char delim = CSV.DEFAULT_DELIMITER, char qual = CSV.DEFAULT_QUALIFIER) { using (CSVReader cr = new CSVReader(stream, delim, qual)) { return(cr.ReadAsDataTable(false, ignore_dimension_errors, headers)); } }