OpenXml SDK: лист Excel для коллекции пользовательских классов - PullRequest
0 голосов
/ 22 ноября 2018

Я использую 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 равен:

enter image description here

Пользовательский класс объявлен как:

internal class Company
{
    public string CompanyName { get; set; }
    public string State { get; set; }

}

После разбора файла Excel я хочу получитьКоллекция с 3 элементами.Для этого есть какой-нибудь пакет nuget или другие расширения OpenXml SDK?

...