Excel(CSV)からXMLへの変換(エクスポート)方法 ホームページ制作 | 墨田区

Excel(CSV)からXMLへの変換(エクスポート)方法

LINEで送る
Pocket

Excel で取りまとめた集計表を、XML に変換してシステムに取り込みたい
といった要望がありましたので、変換(エクスポート)手順をサンプル付きで
ご紹介したいと思います。




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


変換までの手順

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


1. 集計表を作る

まず、実務で利用されている集計表を準備します。
ここでは、こんな感じの売上表を用意しています。
Excel Export 集計表


2. XSD ファイルを作る。

次に、XSD ファイルを作ります。
XSD とは、XML スキーマ ドキュメントの作成に使用する W3C 標準言語です。
XML スキーマは、定義済みの型のセット(string、dateTime、decimal など)と、
新しい型を定義するための XML 言語 (complexType、minOccurs、element など) の
2 つの部分で構成されます。

ここでは、以下のような XML を記述しました。

XML スキーマ

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

データ型(type=以降)

  • 文字列:string
  • 数値:integer
  • 日付:dateTime

※他にもあります。


このソースを、テキストエディタに貼り付け保存します。
その際、拡張子は 「.xsd」 にしてください。エンコードの種類は 「UTF-8」 です。
ここでは、「sample.xsd」として保存します。


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

集計表の Excel に戻ります。
リボンの「開発」タブから、ソースを選択します。
>リボンに「開発」タブが表示されていない場合は、こちら
Excel Export ソース選択

XML ソース画面が出てきますので、右下の「XML の対応付け」ボタンを押下します。
Excel Export XMLソース表示

XML の対応付け画面では、「追加」ボタンを押下します。
Excel Export XML対応付け追加

XML ソースの選択画面が出ますので、先ほど作った「sample.xsd」ファイルを選択して
「開く」ボタンを押下します。
Excel Export XMLソース選択

複数ルート画面が出たら、最も外側のタグである「sales」を選択して、
「OK」ボタンを押下します。
Excel Export 複数ルート

XML の対応付け画面でも「OK」ボタンを押下して画面を閉じます。
Excel Export XML対応付け選択OK

すると、XML ソース画面に、対応付けされた 「sales_対応付け」 が
ツリー状で出てきます。
コメントにあるように、ツリーから要素をワークシートにドラッグします。
例えば、no であれば、セル「A1」 へドラッグします。
Excel Export XMLソースsales対応付け


全ての要素をドラッグするとこんな感じになります。
Excel Export 対応付け済


4. エクスポート実行

リボンの「開発」タブから「エクスポート」ボタンを押下します。
Excel Export エクスポート

保存先を指定して、「エクスポート」ボタンを押下します。
Excel Export エクスポート保存

実際に出来上がった XML はこんな感じです。

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

いかがでしたでしょうか?
実際に実務で利用されるのは、こんなに単純な表ではないでしょうけど、
イメージはつかめたのではないでしょうか?
XML と聞くだけで引いてしまう方が結構いらっしゃいますが、
テキストだと思えばなんてことありません。
気楽に付き合っていきましょう。


参考サイト

・XML データをエクスポートする – Excel
http://office.microsoft.com/ja-jp/excel-help/HP010206401.aspx

属性中心の対応付けは こちら を参照ください。
ExcelからXMLへの変換(エクスポート)方法 – 属性中心の対応付け


おつかれさまでした。

LINEで送る
Pocket

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

Office / VBAの勉強が思うように進まないときは!

Office / VBAの勉強が思うように進まないのであれば、プロに直接質問ができる プログラミングスクール を検討してみてはいかがでしょうか?プログラミングスクールに申し込めば、短期間で一定のスキルを身に着けることができます!

Office / VBAコースあり!未経験者にウケてる KENスクール パソコンスクール・パソコン教室 【KENスクール】個別指導のWeb-DTP・OA・IT PCスクール

理解度や学習ペースに合わせて、一人ひとりが納得して前進できる授業を提供してくれるのが特徴です。特に課題製作は現場さながらで、実務に即したものとなっていますので短期でのスキルアップが望めます。自宅学習のサポートも充実していて、授業内容をいつでもビデオで振り返ることができるのもうれしいですね。好きな時間に好きな場所で、無理なくスケジューリングできるので、仕事の忙しい方でも柔軟に学ぶことができますよ。

更にさらに、なんと 就職サポート をしてくれるというのですから驚きです!!

履歴書の書き方から面接指導、求人の紹介など、具体的な就職先まで提案してくれるんです!私も「もっと早く出会いたかったなぁー、こんなスクール」・・・って思っちゃいました^^

東京・神奈川・愛知・大阪を営業エリアとされています。
まずは気軽に 無料体験予約 に申し込んでみるのもアリですよ。


コメントを残す

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

コメント(必須)

Trackback URL