我有一个带有图表的 Excel 文件。
我可以使用 Open XML SDK 提供的 chartPart 属性来引用图表。
如何从中获取图表类型(条形图、饼图、折线图等)?
PS我已经查看了这个 chartPart 变量的结构,但我一直无法弄清楚在哪里可以找到类型、轴、颜色等信息。
我有一个带有图表的 Excel 文件。
我可以使用 Open XML SDK 提供的 chartPart 属性来引用图表。
如何从中获取图表类型(条形图、饼图、折线图等)?
PS我已经查看了这个 chartPart 变量的结构,但我一直无法弄清楚在哪里可以找到类型、轴、颜色等信息。
您可以使用反射概念获得图表类型
private IEnumerable<Type> GetExcelChartTypes()
{
IEnumerable<Type> items = new List<Type>();
try
{
DocumentFormat.OpenXml.Drawing.Charts.LineChart linechart = new DocumentFormat.OpenXml.Drawing.Charts.LineChart();
items = Assembly.GetAssembly(linechart.GetType()).GetTypes().Where(S => S.Name.EndsWith("Chart"));
}
catch
{
}
return items;
}
在这样做之前获取所有图表部分
IEnumerable chartparts = 电子表格.DrawingsPart.ChartParts;
然后使用下面的行获取图表对象
IEnumerable 图表 = chartpart.ChartSpace.ChildElements.OfType(); .
每个图表对象都会有绘图区域对象获取它并使用 GetType() 获取对象类型。
那么你肯定会得到图表的名称。