我通过Web服务在系统中公开表,以便在Excel工作表中使用(作为XML源)。这些表可以包含包含空格的标题,以及在XML元素名称中无效的其他字符。 Excel就可以了,我的系统很好,但中间格式(XML)不是。
那么,XML Source能告诉Excel(通过模式或数据)使用不同于元素名称的表标题吗?例如。类似的东西:
<xs:element name="place-of-origin">
<xs:annotation>
<xs:appinfo><od:displayName>Place of origin</od:displayName></xs:appinfo>
</xs:annotation>
</xs:element>
修改:此处为sample XML file和corresponding XSD。在Excel中打开它会生成一个列标题为“sex_of_person”的表 - 所以问题是:XML或模式如何表示此标题应该是“人的性别”(带空格)或“#$!%”(对不起),或任何其他无效的XML name字符串?
答案 0 :(得分:0)
您说您使用XML作为“数据源”,从而使用Excel的XML功能(从2003版开始)。
当您在Excel中打开XML文件时,Excel会为您提供将其转换为可读形式的选项(并为您提供自动推断XML架构的选项)。
完成此操作后,Excel在后台“使用”了XML文件(以及隐式生成的XML模式,但您可以使用您的excisting模式)作为XML-Source。
从现在开始,Excel可以更改列标题(Excel有一种内部方法可以将sex_of_person从XML文件链接到表的第二列)。
为了证明这一点,我在我的例子中删除了除一个之外的所有行。请注意当我在XML窗格中选择“sex_of_person”时,Excel如何选择第二行“人的性别”(不带标题)。现在,当我单击刷新(在我的德语版本中:“Daten aktualisieren”)时,Excel将重新加载XML文件并将值插入相应的列中。使用“导入”甚至可以更改XML源(假设格式保持不变)。
所以从现在开始我不打开Excel中的XML文件(正如你可能已经做过的那样),但我打开这个Excel文件,从现在开始定义了表示(即从XML元素到列的链接)和包括XML文件的链接。
我不完全确定这就是你的意思。
此致 安德烈亚斯