Как я могу получить WorkbookPart из WorkSheet? - PullRequest
5 голосов
/ 04 мая 2010

Я пытаюсь создать файл Excel, используя OpenXML SDK. У меня есть одна ситуация, чтобы получить WorkBookPart из экземпляра WorkSheet. Как я могу получить это?
Благодаря.
Ant.

Ответы [ 4 ]

4 голосов
/ 24 января 2014

Я знаю, что это старый вопрос, но я подумал, что дам полный ПРАВИЛЬНЫЙ ответ на вопрос Антона. Я столкнулся с этим вопросом, когда искал тот же ответ. Это проверено и работает.

Допустим, по какой-то причине у вас есть объект Worksheet с именем worksheet:

Worksheet worksheet = ((WorksheetPart)_spreadsheet.WorkbookPart.GetPartById("rId1")).Worksheet;

Теперь, может быть, позже в моей программе мне по какой-то причине нужно получить Часть рабочей книги:

WorkbookPart workbookPart = (WorkbookPart) worksheet.WorksheetPart.GetParentParts().First();

Вот и все!

2 голосов
/ 03 ноября 2012

Существует путь от Рабочего листа к Рабочему листу через объект пакета:

Worksheet ws = someWorksheet;
SpreadsheetDocument ssDoc = ws.WorksheetPart.OpenXmlPackage as SpreadsheetDocument;
Workbook = ssDoc.WorkbookPart.Workbook;
2 голосов
/ 07 февраля 2013
worksheet.WorksheetPart.GetParentParts().First() 

Это должно получить WorkBookPart, где лист является экземпляром WorkSheet.

0 голосов
/ 26 сентября 2011

Какую недвижимость вы ищете?

Вы можете найти список свойств на этой странице , особенно вы можете найти свойство Workbook, например, вы бы использовали DocumentFormat.OpenXml.Spreadsheet.Workbook

...