■ 現在のこのページの役立ち度:
表示されない場合こちらのリンクからもご覧になれます。
■ このページの役立ち度を評価する:
役立ち度を評価してください。
(1(左):あまり役立たない - 5(右):大変役立った):
■ ページの共有:
[ サイト内検索 ]
カスタム検索
#1892-1Excelへのデータ出力の高速化ぺぐ2002-07-19(金) 04:19
     #1895-1RE#1892:Excelへのデータ出力の高速化Say2002-07-19(金) 04:45
#1892-1
Excelへのデータ出力の高速化
こんにちは。
VB6.0SP5 OS:Win2000 データベース:SQL2000で開発をしています。
データをExcelに出力する帳票プログラムを作成したのですが
出力対象のデータが多くなると
やはり 処理が遅くなっしまいました。
1セル単位にデータを書き出していたのを
一行分を配列にいれて
一気に書き出すように変えました。
でも
1セル単位で出力させていた時は 1時間半かかったものが
一行単位で出力させたら 4分ほどしか 速くなりませんでした。
以下にそのソースを書かせていただきますので
何かおかしいところがあったら ご指摘ください。
*******************************************************
Dim varWorkArray(10)    As Variant
Dim curSasihikiGak      As Currency

 Erase varWorkArray

  varWorkArray(0) = lngCd1
    varWorkArray(1) = strNm1
    varWorkArray(2) = lngCd2
    varWorkArray(3) = strNm2
    varWorkArray(4) = lngcd3
    varWorkArray(5) = strNm3
    varWorkArray(6) = lngNo1
    varWorkArray(7) = strNoNm1
    varWorkArray(8) = strTuki
    varWorkArray(9) = curKingaku

    objshtNew.Range(objshtNew.Cells(lngRow, 1), objshtNew.Cells(lngRow, 10)).Value2 = varWorkArray

*******************************************************

このえらく時間のかかる帳票は
(実際にエクセルに出力された行数は3,000行ほどでした)
メインのレコードセットをまわして
一件読むごとに 別のレコードセットを作成しています。
そのため 恐ろしく時間がかかっているのですが。。。
ワークファイルなどを作成してから
Excelに出力させた方が
速いのでしょうか?

他にこうすればもっと速くなるなどの
方法をご教授いただけると 大変助かります。
ちなみに Excelのマクロ等は一切わからないため
帳票の改ページ・小計・総合計などは VBからやっています。

長くなってしまいましたが
なにとぞ よろしくお願いします。
#1895-1
RE#1892:Excelへのデータ出力の高速化
可能ならcsv吐き出し、csv読み込みにしたほうが速いかもしれません。

> ちなみに Excelのマクロ等は一切わからないため
> 帳票の改ページ・小計・総合計などは VBからやっています。

ExcelにできることはExcelにやらせたほうがいいでしょう。
罫線やSumマクロなどを埋め込んだテンプレートを用意しておき、
VBからはそれをOpenしてデータを流し込んで別名保存するだけにします。

また、Excelは帳票印刷専用ツールではありませんので、速度重視なら、
専用の市販ocxを検討されたほうがいいかもしれません。
このページと関連する記事:
#11180-0VBの帳票作成について2000-06-01(木) 10:48
#30598-0Excelを使用するアプリの高速化2000-09-25(月) 16:57
#21389-0レポート印刷について2002-07-02(火) 13:50
#14506-0ExcelのVBAマクロの印刷について2001-02-15(木) 02:08
#28076-0Excelの編集を高速化する方法ってありますか?2000-08-17(木) 00:31
#34427-0CopyFromRecordsetを使ってADOレコードセットからExcelのワークシートへコピー2000-11-30(木) 16:22
#13442-0印刷方法しりませんか?2000-12-14(木) 17:17
#11136-0わかる方、教えてください。2000-05-31(水) 15:13
#29452-0Datareportの改ページの指定について2000-09-06(水) 16:35
#24197-0配列の代入について2001-10-30(火) 18:01
お探しの情報は見つかりましたか?お困りの問題は解決しましたか?
サイト内検索, 似た記事検索で見つからなくてもあきらめずに掲示板で質問してみましょう。
VB初心者友の会があなたのお役に立てれば幸いです。また、本ページの投稿者の方々にこの場を借りて感謝致します。
本ページは過去ログを集めて自動構成しています。よろしければこのページに関するフィードバックをお願いします。
(※ 構成の誤り、広告等の不適切な記事、リンク切れ、読めないページの報告など)