Excel XML スプレッドシートを変換して、別のプログラムにインポートできるようにする必要があります。通常の XML ドキュメントでは問題なく実行できますが、Excel XML ドキュメントは別の問題です。私が問題を抱えているのは、各セルから必要なデータを抽出することです。
データを取得するためにツリーをトラバースできるようにする、私が気付いていない呪文が必要です。私のスタイルシートの一部は次のようになります。
<xsl:template match="ss:Table">
<xsl:for-each select="ss:Row">
<Reload>
<xsl:value-of select="ss:Cell/ss:Data"/>
</Reload>
<vio_sta-id>
<xsl:value-of select="ss:Cell/ss:Data"/>
</vio_sta-id>
<vio-first>
<xsl:value-of select="ss:Cell/ss:Data"/>
</vio-first>
<vio-middle>
<xsl:value-of select="ss:Cell/ss:Data"/>
</vio-middle>
<vio-last>
<xsl:value-of select="ss:Cell/ss:Data"/>
</vio-last>
これは、私が受け取っているドキュメントの「行」です。
<ss:Row>
<ss:Cell><Data ss:Type="String">Reload</Data></ss:Cell>
<ss:Cell><Data ss:Type="Number">21</Data></ss:Cell>
<ss:Cell><Data ss:Type="String">ANTHONY</Data></ss:Cell>
<ss:Cell><Data ss:Type="String"></Data></ss:Cell>
<ss:Cell><Data ss:Type="String">VALDEZ</Data></ss:Cell>
<ss:Cell><Data ss:Type="String">01/28/1982</Data></ss:Cell>
<ss:Cell><Data ss:Type="String">07318386</Data></ss:Cell>
<ss:Cell><Data ss:Type="String">000-00-0000</Data></ss:Cell>
<ss:Cell><Data ss:Type="String">Blank Field</Data></ss:Cell>
<ss:Cell><Data ss:Type="String">638 W BAETZ</Data></ss:Cell>
<ss:Cell><Data ss:Type="String"></Data></ss:Cell>
<ss:Cell><Data ss:Type="String">SAN ANTONIO</Data></ss:Cell>
<ss:Cell><Data ss:Type="String">TX</Data></ss:Cell>
<ss:Cell><Data ss:Type="String">78221</Data></ss:Cell>
<ss:Cell><Data ss:Type="String">06/21/1999</Data></ss:Cell>
<ss:Cell><Data ss:Type="String">3259</Data></ss:Cell>
<ss:Cell><Data ss:Type="Number">165.00</Data></ss:Cell>
<ss:Cell><Data ss:Type="Number">0.00</Data></ss:Cell>
<ss:Cell><Data ss:Type="Number">0.00</Data></ss:Cell>
<ss:Cell><Data ss:Type="String">8880</Data></ss:Cell>
<ss:Cell><Data ss:Type="String">New</Data></ss:Cell>
<ss:Cell><Data ss:Type="String">00/00/0000</Data></ss:Cell>
<ss:Cell><Data ss:Type="String">PENDING</Data></ss:Cell>
<ss:Cell><Data ss:Type="String">FRED NIETO JR.</Data></ss:Cell>
<ss:Cell><Data ss:Type="String">ZIMMERMAN #700</Data></ss:Cell>
<ss:Cell><Data ss:Type="String">EXP. 1-99::NEW::0</Data></ss:Cell>
<ss:Cell><Data ss:Type="Number">10</Data></ss:Cell>
<ss:Cell><Data ss:Type="Number">5</Data></ss:Cell>
私の出力は、最初のセルからのデータが何度も繰り返されることで構成されています..どういうわけか、ノードセットを読み取ってから、次のセルに進む必要があります...
ありがとう