- - PR -
【Excelオブジェクト】処理速度の改善について相談
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-03-31 22:19
いつもお世話になっております。
質問させて頂きます。 開発環境:VS.NET 2003 開発言語:C# 件名の通り Excelオブジェクトを使用しております。 Excel帳票を作成する事が目的ですが 処理速度が遅い為、改善策が無いか調査しております。 現在、実装している方法は単純に Excelのセルを1個ずつ参照し データを設定しています。(下記一部抜粋) *************************************** xlRange1 = (Excel.Range)xlCells[ 43, 11 ]; xlRange1.Value2 = this.m_insRptFile.BackCutLength.ToString("###0.0"); *************************************** 上記以外に複数まとめてセル上にデータを吐き出す方法や 別途、Excelオブジェクト以外にExcel帳票を出力する方法がある等 ありましたら情報を頂けないでしょうか。 同じ事で苦労された経験の有る方、ご教授下さい。 宜しくお願い致します。 | ||||||||
|
投稿日時: 2006-04-01 08:58
ひろれいと申します。 私も現在、サーバ側でExcel帳票を作成し、それをクライアントにダウンロードさせるというシステムの開発を行なっているのですが、私のところは アドバンスソフトウェアの ExcelCreator という製品を採用しています。 ExcelCreator5.0 for .NET トライアル版(製品版と機能は変わらないようです)が無料で使用できますので、一度試してみてはいかがでしょうか。 他部署でも私の話を聞き、導入したところ、速度改善が出来たそうです。 ただ、機能に制限があったりしますので、その辺は色々と試してみた方がよいと思います。 | ||||||||
|
投稿日時: 2006-04-01 09:17
基本的に根本的な解決はありません。 速度であれば、非同期に実行される帳票コンポーネントなどがお勧めです。
Cell 単位ではなく (本当の意味での) Range にすれば少し改善できるかな。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2006-04-01 09:49
VB6のフレキシブルコントロールでは、各セルに値を入れるよりも、
文字列で連結していってクリップボードで渡す方が速かったです。 エクセルでも速いかどうかはわかりませんが(^^; | ||||||||
|
投稿日時: 2006-04-01 10:16
http://www.officetanaka.net/excel/vba/speed/index.htm
VBAの高速化のテクニックを検証しているサイトです。 参考になると思いますよ。 |
1