- - PR -
XMLデータからスプレッドシートを作成。
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-06-25 13:02
初めまして。
ASPの処理でSQLサーバから複数のレコードセットを 取得してそのレコードセット別にExcelのシート別に出力させたい のですが、どなたかご存知でしたら ご教授お願い致します。 クライアント側のExcelは2003です。 |
|
投稿日時: 2007-06-25 14:41
XMLを使用するのはDBからデータを取得した後ですか?
また、今困っているのはどのような点ですか? |
|
投稿日時: 2007-06-25 15:13
Marimo様
返信ありがとうございます。 説明不足ですみませんでした。 SQLサーバーから2つのクエリのレコードセットを XMLデータとして保存してます。 Dim oXML_1 Set oXML_1 = CreateObject("Microsoft.XMLDOM") rs.Save oXML_1, 1 nRecords_1 = rs.Fields(0).value rs.Close Dim oXML_2 Set oXML_2 = CreateObject("Microsoft.XMLDOM") rs2.Save oXML_2, 1 nRecords_2 = rs2.Fields(0).value rs2.Close 上記の異なるXMLデータをExcelのシート別に出力したいです。 Excelのスタイルシートは既存にあります。 oXML_1.transformNodeToObject oXSL, oResults ↑oXSLはスタイルシートです。oResultsは変換結果? Response.ContentType = "application/vnd.ms-excel" Response.AddHeader "Content-Disposition", "inline; filename=aaa.xls" Response.Charset = "ISO-8859-1" Response.Write oResults.XML Response.Flush 最終的にこんなことやってクライアントにダウンロードさせたいのですが うまくいかない状態です。 すみません説明がイマイチですが。。 |
|
投稿日時: 2007-06-25 15:59
基本的なロジックは下記のページに書かれているものと同じでしょうか。
http://support.microsoft.com/kb/285891/ja また、うまくいかないのはどの部分で、 どのようなエラーメッセージが出力されますか? |
|
投稿日時: 2007-06-25 16:12
Marimo様
お世話になっております。 おっしゃる通り http://support.microsoft.com/kb/285891/ja ↑このサイトを基本にプログラムを組んでいるのですが 例だとクエリは一つのようです。 複数のクエリーを実行してレコードセット毎にシートを 作成する場合はどーするのか分かってません。。 エラーは出ず、二番目のシートはデータが空の状態で出力されます。 |
|
投稿日時: 2007-06-25 17:15
今採用なさっている手法では、
2つのワークシートに出力することはできないように思われます。 (すくなくとも私には思いつきません。) というのは、 Response.ContentType="application/vnd.ms-excel" → .Write → .Flush によって実行されるのが 「ウェブサーバによって出力された文字列をExcelに受け取らせる。」 という処理だからです。 個人的には、サーバサイドでExcelブックを作成するか、 または、クライアントサイドでExcelブックを編集するかしたほうがよいかと存じます。 |
|
投稿日時: 2007-06-25 17:31
Marimo様
ご教授ありがとうございました。 確かに2つのクエリーの結果よりワークシート毎に 出力するのは無理のようでしたのでスプレッドシート側の xslタグの制御文でデータを分けてシート別に出力する事で解決とします。 ありがとうございました。 |
1