6

私はプログラミングの世界にかなり慣れていないので、この質問はばかげているかもしれませんが、行き詰まっており、助けを求めていました.

XDocument を使用して、Autodesk Revit から Excel レポートを取得するプロジェクトで、Excel ワークシート (XML ドキュメント) に情報を変更および追加しています。ワークシート ドキュメントは、次の構成の行とセルを含むワークシート情報で構成されます。

<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」であり、それが私の問題です。属性の値として「:」文字を入力できません。ネットを検索したところ、このリンクの名前空間宣言と関係があることがわかりました: 「「:」文字、16 進値 0x3A は、名前に含めることはできません」

ただし、この「:」文字を属性値に入れることは、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 では不可能だとは信じられません。

前もって感謝します

4

1 に答える 1