ExcelのデータをXML文書にするには
取引先が製品一覧をXML文書で欲しいと言ってきました。いままで、こうした情報はExcelで管理していたので、これをXMLで出力する方法を教えてください。 また、取引先から来たXML文書をExcelに読み込ませる方法はありますか?

回答/富士ソフトABC株式会社 技術センター
2001/4/27

 Excel 2000にはデータをXML文書にして出力する機能はありませんが、似たような機能としてHTML形式での保存機能があります。しかし実際には、このHTML形式で保存された文書はXHTML形式にすらなっていないので、手作業でその内容をデータの受け渡しに適したXML文書へと変換・修正することはやや困難です。さらに、この方法で作成できたとしても、このXML文書にはDTDなどがありませんので、XMLパーサによるXML文書のチェック機能などを生かすことができません。

  • test.xls(Excelで作成した元ファイル)

  • test.html(ExcelでHTML形式保存したファイル)
  • test.xml(test.htm を手作業でXML化したファイル=XHTML形式)

 そこで、ExcelのデータをXML文書として作成する簡単な方法として、CSV形式で保存したものをXML化する方法があります。この方法なら、データの多寡にもよりますがそれほど困難なことではありません。表の項目をDTDとして定義することもできます。

 CSVからXMLへの変換は幾つかフリーウェアが公開されていますので、そちらを利用することをお勧めします。 ここでは、変換方法などが詳しく説明されている株式会社エス・スリー・フォーのWebページを紹介しておきます。

編集注:このほかに、「XMLを学ぼう」の筆者である川俣晶氏による「txt2xml」というツールもあります。

 もちろん、この方法で変換したXML文書は、そのままではExcelに読み込むことはできなくなります。読み込む場合には、いったんCSVに戻してから読み込むことになります。

  • test.csv (ExcelでCSV形式保存したファイル)
  • test2.xml (test.csvをcsv2xml で処理したXMLファイル)
  • test2.dtd (test.csvをcsv2xml で処理したDTDファイル 保存後に参照してください)
  • test2.xsl (test.csvをcsv2xml で処理したXSLファイル)

 使用頻度が高く継続して使用するのであれば、市販の製品を使用することをお勧めします。インフォテリア株式会社の「iMaker for Excel」を使用すると「ExcelからXMLへの変換」、「XMLからExcelへの変換」を行うことができます。一般的に自分で変換プログラムを作成するのでなければ、このような市販の製品を利用するのが最適なようです。また、2001年6月までには製品出荷される予定の次期製品Office XPに含まれるExcel 2002では、XML形式のファイルの読み込みと保存が正式サポートされるそうです。

「Ask XML Expert」


XML & SOA フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

HTML5+UX 記事ランキング

本日月間