带有空格的Excel XML表格标题

时间:2011-03-07 12:29:44

标签: xml excel xsd ms-office msxml

我通过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 filecorresponding XSD。在Excel中打开它会生成一个列标题为“sex_of_person”的表 - 所以问题是:XML或模式如何表示此标题应该是“人的性别”(带空格)或“#$!%”(对不起),或任何其他无效的XML name字符串?

1 个答案:

答案 0 :(得分:0)

您说您使用XML作为“数据源”,从而使用Excel的XML功能(从2003版开始)。

当您在Excel中打开XML文件时,Excel会为您提供将其转换为可读形式的选项(并为您提供自动推断XML架构的选项)。

完成此操作后,Excel在后台“使用”了XML文件(以及隐式生成的XML模式,但您可以使用您的excisting模式)作为XML-Source。

Excel 2007 with opened XML-file and XML-source

从现在开始,Excel可以更改列标题(Excel有一种内部方法可以将sex_of_person从XML文件链接到表的第二列)。 List with changed column headers

为了证明这一点,我在我的例子中删除了除一个之外的所有行。请注意当我在XML窗格中选择“sex_of_person”时,Excel如何选择第二行“人的性别”(不带标题)。现在,当我单击刷新(在我的德语版本中:“Daten aktualisieren”)时,Excel将重新加载XML文件并将值插入相应的列中。使用“导入”甚至可以更改XML源(假设格式保持不变)。

所以从现在开始我不打开Excel中的XML文件(正如你可能已经做过的那样),但我打开这个Excel文件,从现在开始定义了表示(即从XML元素到列的链接)和包括XML文件的链接。

我不完全确定这就是你的意思。

此致 安德烈亚斯