我有一个ppt模板,里面有一个简单的条形图,有(比如说)15行
根据c#应用程序中发生的数据查找的结果,使用netofficeinterop我可能需要减少显示的行数
我希望SetSourceData能允许我重写当前的选择,但是
Shape sh = slide.Shapes['mychart'];
NetOffice.PowerPointApi.Chart cx = sh.Chart;
cx.SetSourceData("='Sheet1'!$A$1:$B$5");
似乎被忽略了,源范围仍然是完整的底层数据
(对于保留底层数据并不重要,所以如果有截断行来解决问题的方法,我愿意这样做)
而不是使用setSourceData
(这似乎被忽略了,除非你正在创建一个新的图表,我能够使用以下内容来更新用于显示数据的范围:
Range tRange = ws.Cells.get_Range("A1","B5");
ListObject tbl1 = ws.ListObjects[1]; // Table1
tbl1.Resize(tRange);
其中ws
是工作簿中图表数据的工作表
Shape sh = slide.Shapes['mychart'];
Chart cc = sh.Chart;
ChartData cd = cc.ChartData;
Workbook wb = (Workbook)cd.Workbook;
Worksheet ws = (Worksheet)wb.Worksheets[1];