У меня есть файл Excel с одним листом и одним графиком. Я пытаюсь скопировать эту диаграмму и вставить ее в новый документ Word с помощью OpenXml SDK. Я не хочу изображение диаграммы, но редактируемый объект диаграммы, не связанный с файлом Excel.
Это то, что я пытался:
using (SpreadsheetDocument document = SpreadsheetDocument.Open("Test1.xlsx", true))
{
var bkPart = document.WorkbookPart;
var workbook = bkPart.Workbook;
var s = workbook.Sheets.FirstOrDefault();
var wsPart = bkPart.WorksheetParts.FirstOrDefault();
var dp = wsPart.DrawingsPart;
var dWs = dp.WorksheetDrawing;
var cp = dp.ChartParts.FirstOrDefault();
var plotArea = cp.ChartSpace.Descendants<PlotArea>().FirstOrDefault();
using (var docx = WordprocessingDocument.Open("Test1.docx", true))
{
docx.MainDocumentPart.Document.Body.RemoveAllChildren();
var cpw = docx.MainDocumentPart.AddPart(cp);
var p = new DocumentFormat.OpenXml.Wordprocessing.Paragraph();
var r = new Run();
var d = new Drawing();
var i = new Inline();
var g = new Graphic();
var gd = new GraphicData();
var c = new DocumentFormat.OpenXml.Drawing.Charts.Chart();
docx.MainDocumentPart.Document.Body.Append(p);
p.Append(r);
r.Append(d);
d.Append(i);
i.Append(g);
g.Append(gd);
gd.Append(c);
// I am stuck here
}
}
Я пытался взять ChartPartиз Excel и добавив его в документ Word, а затем создать новую диаграмму, ссылающуюся на вставленный новый ChartPart. К сожалению, я застрял на этом шаге. Как я могу получить и использовать эту ссылку для создания диаграммы? Иначе есть ли другой способ скопировать диаграмму из Excel в Word?
Заранее спасибо.