using System.Collections.Generic;
public static void Main()
using (var client = new WebClient())
var file= client.DownloadData("https://devhow.net/wp-content/uploads/2018/11/SampleExcelData.xlsx");
var excelContent= ParseExcel(new MemoryStream(file));
string json= JsonConvert.SerializeObject(excelContent);
public static IEnumerable<Dictionary<string, object>> ParseExcel(Stream document)
using (var reader = ExcelReaderFactory.CreateReader(document))
var result = reader.AsDataSet(new ExcelDataSetConfiguration()
UseColumnDataType = true,
ConfigureDataTable = (tableReader) => new ExcelDataTableConfiguration()
return MapDatasetData(result.Tables.Cast<DataTable>().First());
public static IEnumerable<Dictionary<string, object>> MapDatasetData(DataTable dt)
foreach (DataRow dr in dt.Rows)
var row = new Dictionary<string, object>();
foreach (DataColumn col in dt.Columns)
row.Add(col.ColumnName, dr[col]);