Добавление диаграммы в WordprocessingML
Я хотел бы сгенерировать документ Open XML, содержащий Chart, используя Open Xml SDK 2. Я нашел пример SpreadsheetML, но не могу понять, как добавить диаграмму в.docx...
Есть хороший источник документации / примеров для Open Xml SDK 2?
3 ответа
В этой статье описывается, как добавить изображение в WordProcessingML с точки зрения XML: http://openxmldeveloper.org/articles/462.aspx
Фактический код для того же самого с использованием API Open XML: http://msdn.microsoft.com/en-us/library/bb497430(office.14).aspx
Если вы успешно добавили диаграмму в SpreadsheetML, вы можете адаптировать пример изображения, чтобы сделать то же самое для WordProcessingML. Вы по-прежнему будете иметь элемент a: graphic, который они имеют в своем примере. Содержащийся внутри, a:graphicData будет иметь URI диаграммы ( http://schemas.openxmlformats.org/drawingml/2006/chart) вместо URI рисунка. Данные внутри a:graphicData будут идентичны тем, которые вы имели для SpreadsheetML.
К сожалению, в сети не хватает проработанных примеров. Как всегда, самый простой способ при использовании OpenXmlSDK - создать текстовый документ с диаграммой и открыть его с помощью инструмента проводника документов.
Когда я вставлял диаграммы в прошлом, они были вставлены как "ChartPart" в документ, который имел несколько дочерних связей с источником данных и форматированием, а затем в самом теле документа "c:chartReference", ссылающийся на часть графика по id. Я считаю, что chartReference живет под graphicData.
У меня нет примера для вас, но посмотрите на cfchunks:
https://blogs.msdn.com/johnrdurant/archive/2005/07/15/cfChunk.aspx
http://blogs.msdn.com/brian_jones/archive/2005/07/20/441167.aspx