- PR -

ExcelとXPath

1
投稿者投稿内容
chienvert
ベテラン
会議室デビュー日: 2002/12/03
投稿数: 57
投稿日時: 2004-04-19 21:52
Excel2003でXMLドキュメントを開く時に、[読み取り専用のブックとして開く]を選択すると、フィールド名にXPathみたいなものが出てくるんですが、XPathですかね?
この辺のドキュメントの在り処や、利用方法をご存知の方いらっしゃったら教えてください。
よろしくお願いいたします。
TAKABE
常連さん
会議室デビュー日: 2003/05/14
投稿数: 43
投稿日時: 2004-04-20 14:34
 chienvertさま、こんにちは。
 答えになっていないのですが、私もちょうどそのあたりをいろいろと調べている最中でしたので、ヒントになるかもしれない程度の情報でしかありませんが…
 一応、読み取り専用のブックの簡単な仕様(?)のような説明を
http://support.microsoft.com/default.aspx?scid=kb;ja;827294
 に見つけました。
 ただし、厳密な意味でのXPathではないようです。http://www.atmarkit.co.jp/fxml/tanpatsu/08officexp/officexp02.html
 でも、#idとか#aggといった記法が出てきます。

 話はさらにずれますが、Excel 2003のXML機能はいろいろと使えそうですね。先日、Excel 2003を使って、XML←→CSVの変換、逆変換をいろいろと試していたところです。
 またExcelのスプレッドシート形式(XMLSS)のXMLを、XSLTのdocument関数で読み込んでWebページにExcelのデータを表示させることも試してみました。Webページ内のデータをExcelを使って更新できそうで、かなり現場で使える印象を持ったところです。
chienvert
ベテラン
会議室デビュー日: 2002/12/03
投稿数: 57
投稿日時: 2004-04-20 14:50
TAKABEさん、ありがとうございます。
探していたもの、どんぴしゃりです。

> 話はさらにずれますが、Excel 2003のXML機能はいろいろと使えそうですね。

そうですか。
Ver2003では、ユーザ定義のスキーマをサポートするのが売りのようですが、案外スプレッドシート形式のXMLのほうが使用頻度が高いかもしれませんね。
TAKABE
常連さん
会議室デビュー日: 2003/05/14
投稿数: 43
投稿日時: 2004-04-20 15:05
 chienvertさま、こんにちは。「どんぴしゃり」ということでよかったです。
(実は私自身はまだ十分には理解していないのです(^^;))

>Ver2003では、ユーザ定義のスキーマをサポートするのが売りのようですが、案外スプレッドシート形式のXMLのほうが使用頻度が高いかもしれませんね。

 そうですね。「ユーザ定義のスキーマをサポート」はこれはこれで嬉しいのですが…
 実際問題として「Excelがやっとこさ」という事務職員の方々が大半の現場では、Excelを動かしてもらえるだけで、Webやその他と連動できるシステムが組めるところがおいしそうです(^^)
TAKABE
常連さん
会議室デビュー日: 2003/05/14
投稿数: 43
投稿日時: 2004-04-21 15:20
 ここで私が今まで話をしたようなことは、chienvertさまをはじめ、理解されたり実用にされたりしている方がここでは多いと思うのですが、「何のことかよくわからない」というメールもいただきましたので、ごく単純なサンプルを以下にアップしました。もしご興味のある方がおられましたら、ダウンロードしてみてくださいませ。ExcelにおけるXMLの入出力や、XMLSS形のExcelのファイルから情報を抽出して、XSLTでXHTMLへ変換してWebページとして表示するような、ささやかな単純なサンプルです。

http://www.yuragi.jp/temp/Excel_XML.lzh

各ファイルの説明

【InputSample.xml】
 Excelで開く元になったXMLファイルです。

【InputSample.xsd】
 InputSample.xml のXML Schemaファイルです。

【ExcelOutput_as_Datat.xml】
 InputSample.xml を Excel 2003 で開いた後、これを「XMLデータ」として保存したものです。

【ExcelOutput_as_SpreadSheet.xml】
 InputSample.xml を Excel 2003 で開いた後、これを「XMLスプレッドシート」(XMLSS)として保存したものです。
 XMLファイルですが、 Excel 2003 をインストールしている状態では、他のXMLファイルと異なったデザインのアイコンをもち、このファイルのアイコンをダブルクリックすると、Excel本来のxlsファイルと同じように、Excel 2003が立ち上がります。

【ExcelOutput.csv】
 InputSample.xml を Excel 2003 で開いた後、これをCSVとして保存したものです。

【display.xsl】
 Excelのスプレッドシート形式(XMLSS)のXMLを読み込み、これをXHTMLへ変換して表示するXSLTスタイルシートです。display.xml のアイコンをダブルクリックすることにより動かすことができます。

【display.xml】
 display.xsl を動かすためのXMLファイルです。
 ここでは display.xsl が読み込むファイルとして、ExcelOutput_as_SpreadSheet.xml を指定しているので、この display.xml ファイルのアイコンをダブルクリックすると、ExcelOutput_as_SpreadSheet.xml 内の情報が読み込まれてXHTMLへ変換されて表示されます。
chienvert
ベテラン
会議室デビュー日: 2002/12/03
投稿数: 57
投稿日時: 2004-04-21 15:43
TAKABEさんナイス!ありがとうございます。
さっそく拝見いたしました。
このXMLSSって、オープンOfficeとかと互換性あるんでしたっけ?
なんか、うまいこと活用できるといいですね。
TAKABE
常連さん
会議室デビュー日: 2003/05/14
投稿数: 43
投稿日時: 2004-04-21 16:25
 chienvertさま、ありがとうございます。
 私はOpenOfficeには詳しくなく、また、まだいろいろと勉強中のところです。
 一応調べた範囲で、XMLSSについての解説が(英語ですが)
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnexcl2k2/html/odc_xmlss.asp
 にありましたので、これはこれで参考になるかと思います(^^
1

スキルアップ/キャリアアップ(JOB@IT)