コンテンツへスキップ

ExcelをXMLに変換

ワークシートを、インポートやフィード、システム連携に使える整形式のXMLに。要素名は見出しから取り、値には型を付け、ルート要素と行要素の名前は自由に決められます。

  • 保存しません
  • 順番待ちなし
  • 登録不要・透かしなし

使い方

1

ブックを追加

.xlsx、.xls、.odsファイルをドロップしてシートを選びます。XMLはリアルタイムでプレビューされます。

2

要素に名前を付ける

ルート要素と行要素の名前、元の値と表示値のどちらを使うか、空のセルをどう扱うかを設定します。

3

コピーまたはダウンロード

XMLをコピーするか、.xmlファイルとして保存します。

表をツリーとして記述する

各シートは、1行ごとに繰り返される要素になり、その中に見出し行から名前を取った列ごとの子要素が入ります。これにより、スプレッドシートではなくデータXMLを想定したどんなシステムでも読める結果になります。その過程で列名は有効な要素名にする必要がありますが、XMLのルールはスプレッドシートの見出しより厳格です。名前を数字で始めることはできず、スペースやほとんどの記号も使えず、大文字と小文字も区別されます。そのため「Order Total (£)」はもっと簡潔な名前に変わり、記号の違いだけで区別されていた2つの見出しは、別の方法で見分ける必要が出てくることがあります。

引き継がれるのは見た目ではなく値です。£1,234.50と表示されているセルは、ブック内では書式を適用した数値1234.5として保存されており、XMLに入るのはその数値のほうです。受け取るシステムが必要とするのは通貨記号ではなく値なので、ほとんどの場合これが正解です。数式も同様に失われます。XMLには数式そのものを保持する場所がないため、得られるのは数式の計算結果です。色、フォント、罫線、条件付き書式、グラフ、画像は、ここではまったく表現されません。

確認すべきは日付です。 スプレッドシートは日付を基準日からの日数として保存し、書式を通して表示するため、セルの設定によっては日付ではなく45356のような数値として出てくることがあります。XMLを読む側で日付が重要なら、ファイルを使う前に確認してください。事前にブック上で日付をテキストとして書式設定しておけば、あいまいさを完全になくせます。

XMLが予約している5つの文字(アンパサンド、山かっこ、引用符)は値の中でエスケープされるため、これらを含むテキストもそのまま残ります。空のセルは省略されず空の要素になります。すべてのレコードが同じ形になるので、欠けたフィールドがただ消えてしまう出力よりはるかに処理しやすくなります。パスワードで保護されたブックは、先にパスワードを解除する必要があります。

ほかの目的には

業界標準の形式、行政への提出書類、システムのインポート形式など、XMLを特定のスキーマに合わせる必要がある場合、汎用的な変換ではその形にならず、ここでどう設定しても同じです。それはマッピングの作業です。XSLTでこの出力を必要な形に変換し、提出前にxmllint --schemaで結果を検証してください。

繰り返し行う作業ならスクリプト化しましょう。Pythonのopenpyxlやpandasならブックを読み込んで好きなXMLを書き出せ、重要な部分である日付や数値の表現方法も制御できます。また、本当にXMLが必要なのかも確認する価値があります。この10年に作られたシステムの多くはJSONやCSVを好み、XMLはたいてい古いシステムから引き継がれた要件です。

よくある質問

どのようなXMLになりますか?

1行につき1つの要素ができ、その中に列ごとの子要素が見出しの名前で入ります。<rows><row><Name>Ada</Name><Joined>2024-03-15</Joined></row>…</rows>のような形です。ルート要素と行要素の名前は自由に選べ、複数のシートをまとめて書き出すこともできます。その場合、各シートはそれぞれ独自の要素で囲まれます。

見出しにスペースや記号が入っていても大丈夫ですか?

はい。見出しは有効なXML名に変換されます。「First Name」はFirst_Name、「2024 Sales」は_2024_Salesになり、重複する見出しには番号が付くので、出力は常に整形式になります。

日付や数値はどのように書き出されますか?

元の値を選ぶと、どのシステムでも解析できるプレーンな数値とISO 8601形式の日付(2024-03-15、14:30:00)になります。表示値を選ぶと、書式を含めてExcelに表示されているとおりのテキストが書き出されます。

XML Spreadsheet 2003とは何ですか?

Excelで直接開けるXML形式で、すべてのシートを数値・日付・テキストごと保持します。独自のデータXMLではなく「Excel XML」を求めるシステムに渡すときに選んでください。

スプレッドシートはどこかに保存されますか?

いいえ。ブックの読み込みとXMLの作成はこのページ上で行われます。どこにも送信されず、何も保存されません。

数式や書式はどうなりますか?

数式は計算結果の値として書き出されます。書式、グラフ、画像はデータXMLには含まれません。

ご注意: データXMLに含まれるのは値だけで、書式、グラフ、画像は含まれません。パスワードで保護されたブックは、先にパスワードを解除する必要があります。

このツールをあなたのサイトに設置

ブログ、授業のページ、ヘルプ記事などに無料で設置できます。コードを1つ貼り付けるだけで、訪問者がそのページ上でツールを使えるようになります。