現在、以下の方法でWebより帳票(Excel)を表示しています。
1.ASPにてSQLを実行し、データベース(Oracle8i)よりレコードセット
を取得する。
2.取得したレコードセットを、XMLで保持する。
3.XMLを、XSLで指定した形式で、Htmlに変換する(JavaScriptの
transformNodeで)
4.変換したHtmlを、クリップボードに退避する。
5.JavaScriptのActiveXObject("Excel.Application")で、
Excelを起動する。
6.Workbooks.Open("[テンプレート名]")で、Excelテンプレート
を立ち上げる。
7.ExcelのBookに、クリップボードに退避したHtmlを貼り付ける。
以上の手順を踏むと、ExcelにHtmlで書かれたとおりの表が表示される
仕組みです。
しかし、この方法だと、大量のデータ件数(横50列、1000件以上)で
ある場合、貼り付けに非常に時間がかかり、タイムアウトしてしまいます。
(ExcelがHtmlを解釈するのに時間がかかるせいだと思うのですが・・・)
せめて横50列以上、2万件以上のデータ量に耐えられる仕組みにしなければ
なりません。
以下の仕様は極力守りつつ、なにか良い方法はないでしょうか。
a.データはなるべくXMLから取得したい
b.帳票を出力するツールはExcelとしたい
aについては、データはレコードセットでも構いません。
bについては、何か他に良い帳票ツールがあれば教えて下さい。
どうぞよろしくお願いします。
●環境
IE:5.5
Excel:97(SR-2)
DB:Oracle8i
No.2ベストアンサー
- 回答日時:
以下のようにすれば画面が表示された後で、クライアント側でExcelが立ち上がり、レコードが記入されていくと思います。
・
・
・
<SCRIPT LANGUAGE="VBScript">
Sub CreateFile()
Set objExcel = CreateObject("Excel.Application")
Set objBook = objExcel.Workbooks.Open("[テンプレート名]")
Set objSheet = objBook.Worksheets(1)
'Excelを表示する
objExcel.Visible = True
<%
'レコードセット
objRS.Open ・・・
i = 1
Do Until objRS.EOF
%>
objSheet.Range("B<%=i%>").Value = "<%=objRS("[列名1]")%>"
objSheet.Range("C<%=i%>").Value = "<%=objRS("[列名2]")%>"
<%
objRS.MoveNext
Loop
objRS.Close
Set objRS = Nothing
%>
objBook.SaveAs [保存ファイル名]
objBook.Close
Set objBook = Nothing
objExcel.Quit
Set objExcel = Nothing
End Sub
</SCRIPT>
</HEAD>
<BODY onLoad="CreateFile();">
・
・
・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelの帳票形式をアクセスに取り込むため、 csvのデータ形式になるように、マクロを作成している 2 2022/06/12 22:52
- Access(アクセス) Access2016でフォーム内にExcelの複数シートを 表示させるイメージで複数テーブルの デー 1 2022/11/25 15:30
- Excel(エクセル) iphonからone driveに保存してあるExcelを閲覧すると表示の仕方がちがうデータ 2 2022/12/21 13:51
- Excel(エクセル) VBA : スクレイピングできない 4 2023/05/12 22:26
- Excel(エクセル) Excelについて教えてください。 帳票データがあります。 アクセスに取り込むため、 データ形式にし 1 2022/06/08 19:59
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- Excel(エクセル) 【至急 詳しい方教えて下さい】Excelの表を変換したい 6 2022/04/21 18:35
- その他(Microsoft Office) wordの差し込み印刷での日付表示 2 2023/08/15 16:51
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 1 2022/03/25 17:03
- Excel(エクセル) 至急 Excel日付表示設定教えてください Excelの日付表示ですが、他者から送られてくるExce 6 2023/02/03 11:01
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【C#】textBoxの指定行のデータ...
-
XMLでデータとして画像を指定す...
-
MSFlexGrid 行選択状態
-
VBAでアクセスDBからデータの取...
-
VBAコンボボックスの内容が反映...
-
エクセルのセル最終行取得
-
「Nullの使い方が不正です」の...
-
C# DataTableに最後に追加した...
-
エクセルのCSV読み込みについて
-
エクセルデータをVBで検索でき...
-
COBOL 最新のデータを1件取得...
-
batでレジストリキーから読み取...
-
SAP BAPIの戻り値参照時のエラー
-
ActiveReportのdetailをデータ...
-
accessでフィールド追加のあと...
-
VBA 変数名に変数を使用したい。
-
AccessのDAOでフィールド名を配...
-
Accessのフィールド名に半角括...
-
ファイル名の一部削除について
-
C#でbyte配列から画像を表示さ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「Nullの使い方が不正です」の...
-
【C#】textBoxの指定行のデータ...
-
【VB.NET】Excelの最終行までの...
-
VBAでアクセスDBからデータの取...
-
Excel VBAでフォルダ内の全テキ...
-
C# DataTableに最後に追加した...
-
XMLでデータとして画像を指定す...
-
VBAコンボボックスの内容が反映...
-
MSFlexGrid 行選択状態
-
COBOL数値転記の仕様
-
クリスタルレポートでレコード...
-
非同期のプロセス間通信(パイプ...
-
ActiveReportのdetailをデータ...
-
アクセスでウェブ上のデータを...
-
Excel VBAでグループ毎に集計す...
-
batでレジストリキーから読み取...
-
富士通(汎用機)のAIMについて
-
Web画面のTableから数字を取得...
-
Excel VBAで1週間毎にカテゴリ...
-
エクセルのCSV読み込みについて
おすすめ情報