ホームページ制作 | 墨田区

ExcelからXMLへの変換(エクスポート)方法 – 属性中心の対応付け

LINEで送る
Pocket

以前 Excel(CSV)からXMLへの変換(エクスポート)方法 をご紹介しましたが、今回は変換後の XML が各々のタグではなく 属性として変換する方法 をご紹介します。




【PR】マジか?!「アレ」してるLINEスタンプっていったい・・・


変換までの手順

前回と同様の手順です。

  1. 集計表を作る。
  2. XSD ファイルを作る。
  3. 集計表から xsd ファイルを選択して項目を対応付ける。
  4. エクスポート実行。


集計表を作る

前回と同様の集計表を使います。
ExcelからXMLへの変換する集計表


XSD ファイルを作る

ここが前回と違うポイントです。
型のセット(string、dateTime、decimal など)、XML 言語 (complexType、minOccurs、element など)の構成は同じですが、記述の方法が異なります。

<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:element name="root">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="sales" maxOccurs="unbounded">
          <xsd:complexType>
            <xsd:attribute name="no" type="xsd:integer"/>
            <xsd:attribute name="sales_no" type="xsd:string"/>
            <xsd:attribute name="sales_date" type="xsd:date"/>
            <xsd:attribute name="item" type="xsd:string"/>
            <xsd:attribute name="qty" type="xsd:integer"/>
            <xsd:attribute name="unit_price" type="xsd:integer"/>
            <xsd:attribute name="totoal_amt" type="xsd:integer"/>
          </xsd:complexType>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
</xsd:schema>

前回は element タグを sales と entry タグに分けて要素を設定していましたが、今回は element タグ sales の下に要素を設定しています。attribute タグを利用することにより、sales タグの属性と位置付けることができるのです。


集計表から xsd ファイルを選択して項目を対応付ける。

リボンの「開発」タブから 「ソース」 – 「XML の対応付け」 – 「追加」 にて xsd ファイルを対応付けします。全ての要素をドラッグするとこんな感じです。
ブック内のXMLの対応付け


エクスポート実行

リボンの「開発」タブから「エクスポート」してファイルを保存します。
実際に出来上がった XML はこんな感じです。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<root>
  <sales no="1" sales_no="SNO-0001" sales_date="2014-09-01" item="パソコン" qty="1" unit_price="100000" totoal_amt="100000"/>
  <sales no="2" sales_no="SNO-0001" sales_date="2014-09-02" item="プリンタ" qty="1" unit_price="30000" totoal_amt="30000"/>
  <sales no="3" sales_no="SNO-0002" sales_date="2014-09-02" item="パソコン" qty="1" unit_price="50000" totoal_amt="50000"/>
  <sales no="4" sales_no="SNO-0003" sales_date="2014-09-03" item="モニタ" qty="1" unit_price="25000" totoal_amt="25000"/>
  <sales no="5" sales_no="SNO-0003" sales_date="2014-09-03" item="マウス" qty="1" unit_price="3000" totoal_amt="3000"/>
</root>

おお、sales タグの属性として要素が設定されていますね。


参考サイト

・Excel 2003 で XML の対応付けを作成する
http://msdn.microsoft.com/ja-jp/library/aa203737(v=office.11).aspx


おつかれさまでした。

LINEで送る
Pocket

この記事がお役に立ちましたら シェア をお願いいたします。

コメントを残す

コメント(必須)

お名前 (必須)
メールアドレス
(アドレスは公開されません)

Trackback URL