- PR -

【Excelオブジェクト】処理速度の改善について相談

1
投稿者投稿内容
ダイコク
会議室デビュー日: 2006/03/04
投稿数: 8
お住まい・勤務地: 北海道
投稿日時: 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/03/02
投稿数: 486
お住まい・勤務地: 万博開催地
投稿日時: 2006-04-01 08:58
引用:

ダイコクさんの書き込み (2006-03-31 22:19) より:

上記以外に複数まとめてセル上にデータを吐き出す方法や
別途、Excelオブジェクト以外にExcel帳票を出力する方法がある等
ありましたら情報を頂けないでしょうか。
同じ事で苦労された経験の有る方、ご教授下さい。
宜しくお願い致します。


ひろれいと申します。

私も現在、サーバ側でExcel帳票を作成し、それをクライアントにダウンロードさせるというシステムの開発を行なっているのですが、私のところは アドバンスソフトウェアの ExcelCreator という製品を採用しています。

ExcelCreator5.0 for .NET

トライアル版(製品版と機能は変わらないようです)が無料で使用できますので、一度試してみてはいかがでしょうか。
他部署でも私の話を聞き、導入したところ、速度改善が出来たそうです。

ただ、機能に制限があったりしますので、その辺は色々と試してみた方がよいと思います。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-04-01 09:17
引用:

ダイコクさんの書き込み (2006-03-31 22:19) より:

Excelオブジェクトを使用しております。
Excel帳票を作成する事が目的ですが
処理速度が遅い為、改善策が無いか調査しております。


基本的に根本的な解決はありません。
速度であれば、非同期に実行される帳票コンポーネントなどがお勧めです。

引用:

現在、実装している方法は単純に
Excelのセルを1個ずつ参照しデータを設定しています。(下記一部抜粋)


Cell 単位ではなく (本当の意味での) Range にすれば少し改善できるかな。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
R・田中一郎
ぬし
会議室デビュー日: 2005/11/03
投稿数: 979
投稿日時: 2006-04-01 09:49
VB6のフレキシブルコントロールでは、各セルに値を入れるよりも、
文字列で連結していってクリップボードで渡す方が速かったです。
エクセルでも速いかどうかはわかりませんが(^^;
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2006-04-01 10:16
http://www.officetanaka.net/excel/vba/speed/index.htm

VBAの高速化のテクニックを検証しているサイトです。
参考になると思いますよ。
1

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