带空格的Excel XML表格标题

带空格的Excel XML表格标题,xml,excel,xsd,ms-office,msxml,Xml,Excel,Xsd,Ms Office,Msxml,我通过一个Web服务公开系统中的表,以便在Excel工作表中使用(作为XML源)。这些表的标题可以包含空格和其他在XML元素名称中无效的字符。Excel可以,我的系统也可以,但中间格式(XML)不行 那么,XML源能否告诉Excel(通过模式或数据)使用与元素名称不同的表标题?例如,类似于: <xs:element name="place-of-origin"> <xs:annotation> <xs:appinfo><od:displayN

我通过一个Web服务公开系统中的表,以便在Excel工作表中使用(作为XML源)。这些表的标题可以包含空格和其他在XML元素名称中无效的字符。Excel可以,我的系统也可以,但中间格式(XML)不行

那么,XML源能否告诉Excel(通过模式或数据)使用与元素名称不同的表标题?例如,类似于:

<xs:element name="place-of-origin">
  <xs:annotation>
    <xs:appinfo><od:displayName>Place of origin</od:displayName></xs:appinfo>
  </xs:annotation>
</xs:element>

原产地

编辑:这里有一个和。在Excel中打开此文件将生成一个列标题为“sex of person”的表,因此问题是:XML或模式如何表示此标题应为“sex of person”(带空格),或“#$!%”(对不起),或任何其他无效的字符串?

您是否将XML用作“数据源”从而使用Excel的XML功能(从2003版开始)

在Excel中打开XML文件时,Excel提供了将其转换为可读形式的选项(并提供了自动推断XML模式的选项)

完成此操作后,Excel将在后台“使用”XML文件(以及隐式生成的XML模式,但您可以使用激活模式)作为XML源

从现在起,对于Excel,可以更改列标题(Excel有一种内部方式,可以将XML文件中的sex_of_person链接到表的第二列)。

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

因此,从现在开始,我不会在Excel中打开XML文件(您可能已经这样做了),但我会打开这个Excel文件,从现在开始定义表示(即从XML元素到列的链接),并包含指向XML文件的链接

我不能完全肯定这就是你的意思

问候
Andreas

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

在Excel中打开XML文件时,Excel提供了将其转换为可读形式的选项(并提供了自动推断XML模式的选项)

完成此操作后,Excel将在后台“使用”XML文件(以及隐式生成的XML模式,但您可以使用激活模式)作为XML源

从现在起,对于Excel,可以更改列标题(Excel有一种内部方式,可以将XML文件中的sex_of_person链接到表的第二列)。

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

因此,从现在开始,我不会在Excel中打开XML文件(您可能已经这样做了),但我会打开这个Excel文件,从现在开始定义表示(即从XML元素到列的链接),并包含指向XML文件的链接

我不能完全肯定这就是你的意思

问候
Andreas

您能添加一个示例中间Xml数据吗?添加了,并进行了一点细化。您是否考虑过/是否愿意使用XSL转换?有没有什么原因让你不去做这个选择?那会有什么帮助?即使Excel遵守了应用XSLT的处理指令,转换也只会生成另一个XML文档,因此对元素名称的限制仍然适用。能否添加一个示例中间XML数据?添加,并进行一点细化。您是否考虑过使用XSL转换?有没有什么原因让你不去做这个选择?那会有什么帮助?即使Excel遵守了应用XSLT的处理指令,转换也只会生成另一个XML文档,因此对元素名称的限制仍然适用。我不是Excel用户,我是XML数据源的提供者。我希望用户的初始外观尽可能接近源数据。您没有办法为用户提供Excel(类似于XML源的“前端”)吗?她将打开Excel表并刷新导入。或者:在服务器上创建Excel文件(例如生成Office Open XML格式)怎么样?对,我不是这个意思。我不是Excel用户,我是XML数据源的提供者。我希望用户的初始外观尽可能接近源数据。您没有办法为用户提供Excel(类似于XML源的“前端”)吗?她将打开Excel表并刷新导入。或者:如何在服务器上创建Excel文件(例如,生成Office Open XML格式)?