я итерация моих рабочих листов, как такOpenXML получить имя листа из рабочего листа
WorkbookPart wbPart = doc.WorkbookPart;
SharedStringTablePart sstPart = wbPart.GetPartsOfType<SharedStringTablePart>().First();
SharedStringTable sst = sstPart.SharedStringTable;
foreach (var wsp in wbPart.WorksheetParts)
{
Worksheet ws = wsp.Worksheet;
// i want to do something like this
if (ws.Name == "People_Sheet")
{
}
}
мне нужно знать, какой лист я буду обрабатывать, так что я могу справиться с этим по-разному. Как я могу получить имя листа (которое отображается, когда я его открываю в excel)?
Если я получаю список листов я могу найти его с помощью атрибутов
doc.WorkbookPart.Workbook.Sheets.ToList().ForEach(x => Console.WriteLine(x.GetAttribute("name", "").Value));
Но какова связь между листом и рабочим листом? Как я могу получить соответствующее имя листа или листа из листа?
UPDATE:
Так что я нашел и попробовать этот How to retrieve Tab names from excel sheet using OpenXML
Однако SheetName не совпасть с листа.
foreach (var wsp in wbPart.WorksheetParts)
{
Worksheet worksheet = wsp.Worksheet;
var sheetName = wbPart.Workbook.Descendants<Sheet>().ElementAt(sheetIndex).Name;
var rows = worksheet.Descendants<Row>();
...
}
Строки, которые возвращаются из рабочего листа не соответствует строкам, которые находятся в листе, обозначенном SheetName. Позволь мне объяснить дальнейший
У меня есть три листа в моем первенствовать документ - люди, предприятие, товары (в таком порядке)
В первой итерации этого цикла - данные я получаю от рабочего листа строк относятся к продуктам данные листа, но sheetName говорит «Люди»
возможно дубликат [Как получить имена из Tab первенствовать листа, используя OpenXML] (http://stackoverflow.com/questions/7504285/ how-to-retrieve-tab-names-from-excel-sheet-using-openxml) – wolfgangwalther
Я обновлю свой первоначальный ответ, чтобы ответить на этот комментарий. – rocklobster
Я бы не рекомендовал использовать Open XML. Это медленно, и api ужасно. Взгляните на проект EPPplus, который я считаю намного лучше для работы с Excel. http://epplus.codeplex.com/ –