【发布时间】:2012-12-06 15:31:54
【问题描述】:
我对编程世界很陌生,所以这个问题可能很愚蠢,但我被困住了,希望能得到一些帮助。
我在项目中使用 XDocument 更改和添加信息到 Excel 工作表(这是一个 XML 文档),以便从 Autodesk Revit 中获取 Excel 报告。 工作表文档由工作表信息组成,包括此配置中的行和单元格:
<row r="11" spans="1:11" x14ac:dyDescent="0.2">
<c r="A11" s="198" t="inlineStr">
<is>
<t>example</t>
</is>
</c>
<c r="B11" s="199" t="inlineStr">
<is>
<t>string</t>
</is>
</c>
<c r="C11" s="200"/>
<c r="D11" s="201"/>
<c r="E11" s="201"/>
<c r="F11" s="202"/>
<c r="G11" s="203"/>
<c r="H11" s="204"/>
<c r="I11" s="205"/>
<c r="J11" s="205"/>
<c r="K11" s="206"/>
</row>
代码的相关部分在行元素中。 spans-attribute 的值为“1:11”,这就是我的问题所在。它不会让我输入一个 ':' 字符作为属性的值。我在网上搜索过,发现它与这个链接的命名空间声明有关: "The ':' character, hexadecimal value 0x3A, cannot be included in a name"
但是,将这个 ':' 字符添加到属性值中对于 Excel 文档的工作是必不可少的。我按如下方式创建行元素:
XElement row = new XElement("row",
new XAttribute("r", i.ToString()),
new XAttribute("spans", "1:" + collumnCount.ToString()),
new XAttribute("x14ac:dyDescent", "0.2"));
我不明白为什么它不允许我在 XAttribute 的值中添加一个 ':',因为这只是一个字符串。有什么办法可以做到吗?
我尝试使用 XMLDocument 将字符串“1:11”添加到 XMLAttribute。这确实有效,但我不敢相信 XDocument 不可能。
提前致谢
【问题讨论】:
-
不是
spans的属性值 给你这个错误,而是属性名称x14ac:dyDescent。你即将进入 xml 命名空间的美妙世界……祝你好运 :) -
哎呀,我明白了...我太傻了 :) 谢谢您,先生,您的快速响应!
-
天哪,为什么这个问题仍然悬而未决? @AakashM 应该将此作为答案。
-
@AndréNeves 我觉得我有时间写的内容质量不足以成为答案。
标签: excel linq-to-xml