Я использую OpenXml SDK для чтения файла Excel:
using (SpreadsheetDocument spreadsheetDocument =
SpreadsheetDocument.Open(Server.MapPath("~/Content/Book1.xlsx"),
false))
{
WorkbookPart workbookPart = spreadsheetDocument.WorkbookPart;
WorksheetPart worksheetPart = workbookPart.WorksheetParts.First();
SheetData sheetData = worksheetPart.Worksheet.Elements<SheetData>().First();
string text;
foreach (Row r in sheetData.Elements<Row>())
{
foreach (Cell c in r.Elements<Cell>())
{
text = c.CellValue.Text;
SharedStringTablePart shareStringPart = spreadsheetDocument.WorkbookPart.GetPartsOfType<SharedStringTablePart>().First();
SharedStringItem[] items = shareStringPart.SharedStringTable.Elements<SharedStringItem>().ToArray();
text = items[int.Parse(c.CellValue.Text)].InnerText;
}
}
}
все работает нормально, но я хочу "переместить" данные в коллекцию пользовательских классов.Т.е. лист Excel равен:
Пользовательский класс объявлен как:
internal class Company
{
public string CompanyName { get; set; }
public string State { get; set; }
}
После разбора файла Excel я хочу получитьКоллекция с 3 элементами.Для этого есть какой-нибудь пакет nuget или другие расширения OpenXml SDK?