0

次のようなシート 1 に小さなテーブルを含む Excel ワークブックがあります。

ここに画像の説明を入力

7zip などで未加工の XML を開くと、ワークシート データの Open XML 出力は次のようになります。

   <sheetData>
    <row r="1" spans="1:5" x14ac:dyDescent="0.3">
        <c r="A1" t="s">
            <v>0</v>
        </c>
        <c r="B1" t="s">
            <v>1</v>
        </c>
        <c r="C1" t="s">
            <v>2</v>
        </c>
        <c r="D1" t="s">
            <v>3</v>
        </c>
        <c r="E1" t="s">
            <v>4</v>
        </c>
    </row>

では、ピッチ フォークを少し置いてみましょう。ワークシート データ以外にも、書式設定とレイアウトに関連する関連ファイルがいくつかあることは知っています。私は今日、Open XML SDK を使用しており、人間が読み取れる個々のセル値などにアクセスできます。

私がやろうとしているのは、OpenXML ワークシート データを次のような 2003 スプレッドシート XML としてファイルを保存した場合に得られるものに似たものに変換する「簡単な」方法を見つけることです。

    <Worksheet ss:Name="Sheet1">
    <Table ss:ExpandedColumnCount="9" ss:ExpandedRowCount="5" x:FullColumns="1" x:FullRows="1" ss:DefaultRowHeight="14.4">
        <Column ss:Width="44.400000000000006"/>
        <Column ss:Width="55.800000000000004"/>
        <Column ss:Width="80.400000000000006"/>
        <Column ss:Width="58.2" ss:Span="5"/>
        <Row>
            <Cell>
                <Data ss:Type="String">Name</Data>
            </Cell>
            <Cell>
                <Data ss:Type="String">Birthday</Data>
            </Cell>
            <Cell>
                <Data ss:Type="String">Favorite Color</Data>
            </Cell>
            <Cell>
                <Data ss:Type="String">Pet Name</Data>
            </Cell>
            <Cell>
                <Data ss:Type="String">Car</Data>
            </Cell>
        </Row>
        <Row>
            <Cell>
                <Data ss:Type="String">Joe</Data>
            </Cell>
            <Cell ss:StyleID="s16">
                <Data ss:Type="DateTime">2017-01-01T00:00:00.000</Data>
            </Cell>
            <Cell>
                <Data ss:Type="String">blue</Data>
            </Cell>
            <Cell>
                <Data ss:Type="String">Bo</Data>
            </Cell>
            <Cell>
                <Data ss:Type="String">Ferrari</Data>
            </Cell>
        </Row>

この変換を行う上で何か提案はありますか? あるテーブルから別のテーブルに移動するためのマッピング テーブルを作成する方法はありますか? すべての OpenXML ファイルを手動で移動し、目的の XML 出力を手動で構築しようとして行き詰まるでしょうか? その後者は、私が本当に避けようとしているものです。

ありがとう

4

2 に答える 2