openxml을 사용하여 웹 응용 프로그램에서 파워 포인트를 작성했습니다. 차트로 ppt를 작성하고 생성 된 openxml sdk 생산성 도구 및 코드에 ppt를 열었습니다 내가 데이터베이스에서 오는 차트 데이터를 수정 한 것으로, 코드하는 내가오픈 XML을 사용하여 Powerpoint의 기존 테이블에 데이터 폼 데이터베이스를 바인딩하는 방법
으로 차트 데이터를 수정하기 위해 만든 그 CreatePart에서 SDK의 코드에 대한 클래스를 생성() 나는이 링크를
ChartPart chartPart1 = slidePart1.AddNewPart<ChartPart>("rId3");
GenerateChartPart1Content(chartPart1);
// This is below code added
#if true // Injects the chart part modification process
var chartModifier1 = new ChartPartModifier();
chartModifier1.UpdateSecondChartPart(chartPart1);
#endif
EmbeddedPackagePart embeddedPackagePart1 = chartPart1.AddNewPart<EmbeddedPackagePart>("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "rId2");
GenerateEmbeddedPackagePart1Content(embeddedPackagePart1);
추가
및 ChartPartModifier()에 대한 클래스를 만들었습니다.
public void UpdateSecondChartPart(ChartPart chartPart)
{
// Searchs SeriesText and its Values to replace them with your dynamic data
var seriesLabels = chartPart.ChartSpace.Descendants<SeriesText>().ToList();
var seriesValues = chartPart.ChartSpace.Descendants<Values>().ToList();
var categoryAxis = chartPart.ChartSpace.Descendants<CategoryAxisData>().ToList();
for (int i = 0; i < this._lineSecCharts.Count; ++i)
{
var yourLine = this._lineSecCharts[i];
var label = seriesLabels[i].Descendants<NumericValue>().FirstOrDefault();
var values = seriesValues[i].Descendants<NumericValue>().ToList();
var categories = categoryAxis[i].Descendants<NumericValue>().ToList();
// Replaces the label of the series
label.Text = yourLine.Label;
// Replaces the values of the series
for (int valIdx = 0; valIdx < values.Count(); ++valIdx)
{
values[valIdx].Text = yourLine.Plots[valIdx].Value.ToString();
categories[valIdx].Text = yourLine.Plots[valIdx].Category;
}
}
}
이렇게하면 테이블의 데이터를 수정할 수있는 방법이 있습니다. 그렇다면 어느 솔루션이 나에게 해결책을 제공해 주시면 감사하겠습니다.
웹 응용 프로그램의 차트로 PowerPoint를 만드는 코드를 공유 하시겠습니까? 나는 그것을 보는 것에 정말로 흥미가있을 것입니까? – Coops
확실히, 당신이 나에게 당신의 코드 ID를 보낼 수 있습니까? –