0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ExcelだけでXMLを生成!Power Queryを使ったシンプルな方法

Posted at

はじめに

データをXML形式に変換する必要があるとき、Excelだけで完結できたら便利だと思いませんか?
この記事では、Excelに内蔵されているPower Queryを使って、簡単なデータをXMLに変換する方法を解説します。特別なツールやプログラミング知識は不要です!


この記事の対象

  • 対象読者: エンジニアや非エンジニア問わず、Excelでデータを管理している方。
  • この記事を読むと分かること:
    • Power QueryでシンプルなXMLを生成する方法。
    • 再利用可能なワークフローの構築方法。

データ例

今回は以下のようなシンプルなデータを例にします:

ID 名前 年齢
1 山田太郎 30
2 鈴木花子 25
3 佐藤健 40

目標のXML

このデータを以下のようなXML形式に変換します:

<Rows>
    <Row>
        <ID>1</ID>
        <名前>山田太郎</名前>
        <年齢>30</年齢>
    </Row>
    <Row>
        <ID>2</ID>
        <名前>鈴木花子</名前>
        <年齢>25</年齢>
    </Row>
    <Row>
        <ID>3</ID>
        <名前>佐藤健</名前>
        <年齢>40</年齢>
    </Row>
</Rows>

手順

1. データをPower Queryに取り込む

  1. Excelにデータを入力する
    • 上記の表をExcelシートに入力します。
  2. Power Queryを開く
    • Excelの「データ」タブ → 「テーブルまたは範囲から取得」をクリック。
    • Power Queryエディターが開きます。

2. データ型を確認

Power Queryで、各列のデータ型を以下のように設定します:

  • ID → 数値型 (Number)
  • 名前 → テキスト型 (Text)
  • 年齢 → 数値型 (Number)

※ データ型を変更するには、列の上部をクリックし、「データ型」を選択します。


3. カスタム列を追加してXML構造を作成

  1. 「列の追加」タブをクリック → 「カスタム列」を選択。
  2. 新しい列名を「RowXML」とし、以下の式を入力します:
"<Row>" &
"<ID>" & Text.From([ID]) & "</ID>" &
"<名前>" & [名前] & "</名前>" &
"<年齢>" & Text.From([年齢]) & "</年齢>" &
"</Row>"

結果例(RowXML列の内容):

  • 1行目の出力:

1 <名前>山田太郎名前> <年齢>30年齢> ```

4. 全行を結合してXML全体を作成

  1. 「ホーム」タブ → 「詳細エディター」をクリック。
  2. 以下のコードを追加して全体のXMLを生成します:
let
       ソース = Excel.CurrentWorkbook(){[Name="テーブル1"]}[Content],
       変更された型 = Table.TransformColumnTypes(ソース, {{"ID", type number}, {"名前", type text}, {"年齢", type number}}),
       追加されたカスタム = Table.AddColumn(変更された型, "RowXML", each 
           "<Row>" &
           "<ID>" & Text.From([ID]) & "</ID>" &
           "<名前>" & [名前] & "</名前>" &
           "<年齢>" & Text.From([年齢]) & "</年齢>" &
           "</Row>"
       ),
       結合されたXML = Text.Combine(追加されたカスタム[RowXML], ""),
       最終XML = "<Rows>" & 結合されたXML & "</Rows>"
   in
       最終XML

5. 結果をExcelに戻す

  1. 「ホーム」タブ → 「閉じて読み込む」をクリック。
  2. 作成されたXMLをExcelシートにロードします。生成されたXMLが1つのセルに出力されます。

まとめ

  • ExcelだけでXMLを生成するには、Power Queryが非常に便利。
  • 特別なツールやスクリプトが不要で、簡単に再利用可能なワークフローを構築できます。
  • この方法を使えば、あらゆるデータ形式をXMLに変換し、クラウドやシステム連携で活用できます。

応用例

  • 大規模データの処理: データが増えてもPower Queryが自動的に処理。
  • 異なる形式への変換: Power Queryを使えば、JSONやCSV形式への変換も可能。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?