【发布时间】:2016-01-11 10:42:40
【问题描述】:
Ernie 在这个问题C# Change Excel Chart Axis Format using EPPLUS 中的帖子提供了很多信息,几乎让我到达了我想要的位置,即为 XYScatterLines 图形自定义 X 和 Y 图表轴格式,独立于数据源范围的格式。
我发现有两个值轴 (valAx) 节点,每个节点都用 ID 子节点唯一标识,如下 axId val="1" 和 axId val="2"
基于 Ernie 也回答的较早的问题(Is there a way to set gridline options for Excel graphs using C# / EPPlus)我认为获取每个 valAx 节点、找到相应的 numFmt 节点并添加 ' sourceLinked=0' 属性通过做这样的事情(VB.net):
Dim att = xdoc.CreateAttribute("sourceLinked")
att.Value = "0"
Dim valAxisNodes = xdoc.SelectNodes("/c:chartSpace/c:chart/c:plotArea/c:valAx", nsm)
If valAxisNodes IsNot Nothing AndAlso valAxisNodes.Count > 0 Then
For Each valAxisNode As System.Xml.XmlNode In valAxisNodes
If valAxisNode.SelectSingleNode("c:numFmt", nsm) IsNot Nothing Then
valAxisNode.SelectSingleNode("c:numFmt", nsm).Attributes.Append(att)
End If
Next
End If
但它不起作用。两个节点按预期返回,并为每个节点添加属性到子 numFmt 节点。但是在保存的 XML 中,只有一个 valAx 节点发生了变化。另一个固执地保持不变。我尝试了无数种不同的方法,但没有任何效果。谁能告诉我为什么?
【问题讨论】: