お疲れ様です。
VB.NETで、DBからデータを抽出し、EXCELに帳票出力する処理を
記述しているのですが、処理の高速化のため、セル単位で書き込んでいるものを
行単位で書込みを行いたいと思うのですが、可能でしょうか>
現在は下記のようにセル単位に書込みを行っています。
For i = 0 To MAX
xlCells = xlSheet.Cells
xlRange = xlCells(START_Y + i, 1)
xlRange.Value = data1
MRComObject(xlRange) 'xlRangeの開放
MRComObject(xlCells) 'xlCellsの開放
xlCells = xlSheet.Cells
xlRange = xlCells(START_Y + i, 2)
xlRange.Value = data2
MRComObject(xlRange) 'xlRangeの開放
MRComObject(xlCells) 'xlCellsの開放
中略
NEXT
以上、ご指導よろしくお願いいたします。
MRComObjectが何であるかは普通わかりません
おそらく、こちらのページから転用したのでしょうけど
http://www.bcap.co.jp/hanafusa/dotnet/Excel01.htm
もしそうであれば、その旨を書くのが、流用した側の礼儀じゃあないでしょうか?
COMを利用するってことは従来さながら(VBA)の方法で行単位にアクセス可能だと思います。
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200506/05060091.txt
なんか似たような質問が2日連続だとお腹いっぱいに感じる
ので自分で過去ログ検索してください。
とりあえず『Excel』とか『エクセル』とか『EXCEL』
とかで過去ログ検索して引っかかる内容に全部目を通せば、
どうにだってなる…というかいくつかアイデアが浮かぶ
ことでしょう。
あのね様
ご指摘の通りです。配慮が欠けましたことお詫び致します。
特攻隊長まるるう様
どうもセキュリティの関係なのか、過去ログが開けないものでして。。。
皆様
なんとか解決いたしました。ご迷惑おかけしまして申し訳ありません。
ツイート | ![]() |