喫茶XRAYトップページ
[
スレッド全体
]
[1370]
COMのExcelApplicationでのExcelに表示、時間がかかる。
返信
削除
2007/8/21 (火) 15:11:43
kim
CSVデータをstring2次元配列に読み込み、COMのExcelApplication、ExcelWorksheetを利用してExcelに表示させているのですが、
表示に時間がかかります。
配列の代わりにStringGridを使っても殆ど差はありません。
COMのほうに原因があると思われます。
[1371]
内容削除(ステハン投稿と判断)
返信
削除
2007/8/21 (火) 15:26:30
管理者
発言者の名前をステハンと判断し、内容を削除しました。
マルチポストを指摘するのにステハンを使用する必要性はないと考えられ
ます。指摘するのであればタイトルに書くことができます。
なお、当喫茶店では、状況や事情説明があれば、マルチボストも構いません。
(ある所でグチったことを、ここでもグチるとか...)
[1372]
Re2:COMのExcelApplicationでのExcelに表示、時間がかかる。
返信
削除
2007/8/21 (火) 15:59:24
kim
▼ マルチポストさん
> ExcelApplication利用で時間がかかる。
>
http://
hpcgi1.
nifty.
com/
MADIA/
DelphiBB
S/
wwwlng.
cgi?
print+
200708/
07080043
.
txt
ありがとうございます。早速やってみます。
[1373]
Re3:COMのExcelApplicationでのExcelに表示、時間がかかる。
返信
削除
2007/8/21 (火) 18:41:03
Mr.XRAY
▼ kimさん
「マルチポスト」をネットで調べて見て下さい。
>CSVデータをstring2次元配列に読み込み、COMのExcelApplication、
>ExcelWorksheetを利用してExcelに表示させているのですが、
>表示に時間がかかります。
(改行位置変更)
配列を使用しても満足する、または期待速度が得られない場合は、
クリップボード経由を試してみてください。
それでも満足する速度がえられない場合は、
ExcellApplicationを使用した方法では無理があるかも知れません。
http://
homepage
2.
nifty.
com/
Mr_XRAY/
Delphi/
plExcel/
T_ReadCS
VData.
htm
(バリアント配列を利用した方法例 リスト3)
クリップボードは... えっ〜、どこかに例が...
[1374]
Re4:COMのExcelApplicationでのExcelに表示、時間がかかる。
返信
削除
2007/8/21 (火) 20:20:35
Mr.XRAY
▼ kimさん
> 配列を使用しても満足する、または期待速度が得られない場合は、
例えば以下のサンプルを実行した結果は、ちょっと古いマシンですが、
(ただしWindowsXP + Delphi7 + Excel2000でTExcelApplicationの例)
http://
homepage
2.
nifty.
com/
Mr_XRAY/
Delphi/
plExcel/
T_DBTest
.
htm
Button1Click 6188ms
Button2Click 125ms
となりました。
ただし、DBへの接続のオーバヘッド分は除きます(コード参照)
[1378]
ExcelApplicationでセル内の改行方法
返信
削除
2007/8/25 (土) 13:51:15
Mr.XRAY
マルチポストの他のBBSで展開されているようですが、このBBSをご覧の方
の参考に(HOtaさんのレスの再掲ですが、具体例ということで)。
セル内の改行は、以下が参考になります。
http://
homepage
2.
nifty.
com/
Mr_XRAY/
Delphi/
plExcel/
T_CRLF.
htm
例えば、先の
http://
homepage
2.
nifty.
com/
Mr_XRAY/
Delphi/
plExcel/
T_DBTest
.
htm
のButton2Clickイベントのコードで、
Str:=FieldByName('Company').AsString;
として、
OleArray[i,1]:=AdjustLineBreaks(Str+#13#10,tlbsLF)+Str;
OleArray[i,1]:=Str+#13#10#9+Str;
OleArray[i,1]:=Str+#10#9+Str;
OleArray[i,1]:=Str+#10+Str;
とすると、どれもセル内で改行します。
もしかしたら、エクセルの[ツール][オプション][編集]で、
[入力後セルを移動するの]設定によっては動作が異なるかも知れません。
[1379]
エクセルのセルへ高速データ表示(セット)
返信
削除
2007/8/25 (土) 14:16:47
Mr.XRAY
エクセルクリエータのレスもありましたので。
エクセルクリエータを使用すると、パリアント配列を使用する方法と比べても
比較にならない程、桁違いの速度となります。
ただし、dllの配布(動作する各PCに必要となる)という欠点があります。
また、エクセルクリエータの場合TExcelApplicationを使用するわけでは
ありません。独自にエクセルを操作します。
[
▼次のスレッド
]
INCM/CMT
Cyclamen v3.82