ExcelからXMLへの変換(エクスポート)方法 - 属性中心の対応付け
ExcelからXMLへの変換(エクスポート)属性中心の対応付けの方法です。
以前「Excel(CSV)からXMLへの変換(エクスポート)方法」を紹介しました。
今回は変換後の XML が各々のタグではなく 属性として変換する方法 を紹介します。
ExcelからXMLへの変換までの手順
前回と同様の手順です。
- 集計表を作る
- XSD ファイルを作る
- 集計表から xsd ファイルを選択して項目を対応付ける
- エクスポート実行
集計表を作る
前回と同じ集計表を使います。
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 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
おつかれさまでした。