using ExcelDataReader; using System; using System.Data; using System.IO; namespace OnlineSalesAutoCrop.CoreAPI.Models.Global { /// /// /// public static class ExcelReader { /// /// /// /// /// /// /// public static DataSet GetDataSetFromFile(string fileSpec, bool firstRowColumnHeader) { try { DataSet ds; using FileStream stream = File.Open(fileSpec, FileMode.Open, FileAccess.Read); using (IExcelDataReader reader = ExcelReaderFactory.CreateReader(stream)) { ds = reader.AsDataSet(); foreach (DataTable table in ds.Tables) { if (firstRowColumnHeader && table.Rows.Count > 0) { object[] columns = table.Rows[0].ItemArray; table.Rows.RemoveAt(0); for (int colIdx = 0; colIdx < columns.Length; colIdx++) { table.Columns[colIdx].ColumnName = $"{columns[colIdx]}"; } } } } stream.Close(); return ds; } catch (Exception e) { throw new InvalidOperationException(e.Message, e); } } } }