Open XML SDK – Excel получить комментарии

Я создал функцию, которая возвращает все комментарии в файле Excel. Я хочу получить ссылки на эти комментарии, поэтому я знаю, из какого листа и ячейки они пришли.

Я получаю refrence и комментарий, но у меня проблемы с получением правильного имени листа. Для всех комментариев он возвращается, как если бы они находились на последнем листе книги.

Вот мой код:

public static List<ReportComments> GetCommentsFromExcelFile(string filename) { List<ReportComments> comments = new List<ReportComments>(); using (SpreadsheetDocument workbook = SpreadsheetDocument.Open(filename, false)) { WorkbookPart workbookPart = workbook.WorkbookPart; int sheetIndex = 0; foreach (WorksheetPart sheet in workbookPart.WorksheetParts) { string sheetName = workbookPart.Workbook.Descendants<Sheet>().ElementAt(sheetIndex).Name; foreach (WorksheetCommentsPart commentPart in sheet.GetPartsOfType<WorksheetCommentsPart>()) { foreach (Comment comment in commentPart.Comments.CommentList) { CommentProperties cp = comment.CommentProperties; comments.Add(new ReportComments(sheetName, comment.Reference, comment.InnerText)); } } sheetIndex++; } } return comments; } 

WorksheetCommentsPart для всех листов в цикле, за исключением последнего листа, по какой-то причине является нулевым. Но комментарии находятся на листе 1 и 2, и ни один на листе 3. Но я возвращаюсь, как если бы они были на листе 3.

  • Как читать файл excel xml в python
  • Экспорт XML-файла той же структуры, которую он импортировал
  • добавить гиперссылку на ячейку excel через xslt
  • Автоматически сопоставлять Excel XmlMap на листе в VBA без знания схемы XPaths
  • Ruby: Как ограничить некоторые элементы структуры определенными значениями и сделать некоторые элементы обязательными во время разбора XMl
  • Как удалить / удалить ExtensionList из книги Excel через OpenXML?
  • Как преобразовать Excel в XML с вложенными элементами с помощью XSLT 1.0?
  • Протоколы должны соответствовать исключению при загрузке большого файла (GWT)
  • Когда Excel окружает имена листов с одинарными кавычками в файлах workbook.xml (или других xml)?
  • VBA - Как получить ключи XML в ключах в debug.Print
  • Попытка перемещения данных из XML в электронную таблицу Excel
  • Interesting Posts

    vba Как настраивать ячейки формата без изменения значения

    Изменение переменной в одном макросе с другим макросом в vba

    SUMPRODUCT с определенными условиями

    Импорт из Excel через цикл foreach

    Мне нужно вставить строки в соответствии с условием

    C #: программно сохранить отредактированную книгу Excel

    Назначить процент соответствия текстовому полю на основе другого текстового поля

    Excel INDEX и MATCH Получить значение

    Как я могу создать список материалов по Excel?

    TSQL – циклический столбец для запроса другой таблицы

    Коробки в Excel

    Как я могу прочитать информацию из определенной ячейки в закрытой книге, а затем вставить ее в ячейку на моем активном листе с помощью VBA в Microsoft Excel?

    Как я могу создать пустой объект по умолчанию, который можно отличить от 0 в vba?

    Excel и VBA: обновление защищенных полей при нажатии кнопки

    Скорость чтения / записи PHP-носика

    Давайте будем гением компьютера.