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);
}
}
}
}