web-dev-qa-db-ja.com

XMLからExcelにデータフィールドを抽出する

各列がフィールドである顧客のレコードを含む巨大なExcelスプレッドシートがあります。顧客の調査結果を含む人口統計と呼ばれるフィールドがあり、それは完全にXML形式です。つまり、各顧客は、XML形式で提供される、性別、婚姻状況、収入、年齢などの人口統計情報に関する調査結果を持っています。 XML全体が、データの分析に使用できないスプレッドシートのセル内のテキストの大きな塊のようなものであることは注目に値します。

問題は、各顧客の人口統計データを抽出して同じスプレッドシートのフィールドとして表示したいということです。つまり、各顧客には年齢、性別などがあります。これを行うにはどうすればよいですか?私はこれをグーグルしようとしましたが、誰も同じ問題を抱えていないようです。 Excel2007/2010を使用しています。

5
Joe

XMLが次のようなフラットな構造を持っている場合:

enter image description here

「XML」列をXMLファイルに変換し、Excelシートに再インポートするだけです。そうするために、ただ

xML列をコピーしてテキストエディタに貼り付け、

<customer><age>34</age><gender>m</gender></customer>
<customer><age>38</age><gender>f</gender></customer>

開始/終了ルート要素を追加し、

<customers>
    <customer><age>34</age><gender>m</gender></customer>
    <customer><age>38</age><gender>f</gender></customer>
</customers>

customers.xmlとして保存します。

今。 Developer ToolsリボンからXML-> Importを使用して、Excelにインポートし直します。 「フラットな」XML構造に基づいて、Excelは単一の値の列を作成します。

enter image description here

もちろん、これはXML構造が適切な場合にのみ機能しますが、適切な場合は、マクロを記述したり、「XML」テキストコンテンツを手動で解析したりすることなく機能します。

8
tohuwawohu

Xmlフォームの1つを開きます-ファイルメニューに移動します-共有します-Excelにエクスポートします-指示に従います。 Excelへのエクスポートでは、すべてのxmlフォームが同一である場合はそれらを追加し、データを1つのExcelファイルに一度にエクスポートできることがわかります。

0
SivD