public void exec() { System.IO.File.Copy(template, copie, true); SpreadsheetDocument myWorkbookCopie = SpreadsheetDocument.Open(copie, true); SpreadsheetDocument myWorkbookSource = SpreadsheetDocument.Open(source, true); ////Obtention du graph ////WorkbookPart workbookPart = myWorkbookSource.WorkbookPart; ////WorksheetPart worksheetPart = workbookPart.WorksheetParts.ElementAt<WorksheetPart>(2); //WorksheetPart worksheetPart = XcelWin.GetWorksheetPartByName(myWorkbookSource, "REPORTING"); //DrawingsPart a = worksheetPart.DrawingsPart; //ChartPart b = a.ChartParts.ElementAt(0); ////Creation drawingpart et chartpart //WorkbookPart workbookPart2 = myWorkbookCopie.WorkbookPart; //WorksheetPart worksheetPart2 = workbookPart2.WorksheetParts.ElementAt<WorksheetPart>(0); //DrawingsPart dp = worksheetPart2.AddNewPart<DrawingsPart>(); //ChartPart x = dp.AddNewPart<ChartPart>(); //x.FeedData(b.GetStream()); WorkbookPart workbookPart2 = myWorkbookCopie.WorkbookPart; WorksheetPart worksheetPart = XcelWin.getWorksheetPartByName(myWorkbookCopie, "REPORTING"); string[] labels = { "a", "b", "c" }; double[] data = { 2.2, 3.3, 5.5 }; //Permet de mettre un chart avec des données PieChartSeries pcs = GeneratePieChartSeries(labels, data); Chart x = getChartByTitle(worksheetPart, "Ressource"); PieChart px = x.Descendants <PieChart>().First(); px.RemoveAllChildren <PieChartSeries>(); px.Append(pcs); workbookPart2.Workbook.Save(); myWorkbookCopie.Close(); }