現在業務内で、DataGridViewへと表示している内容をExcelへと出力する処理を書いています。
現在行っているやり方は↓
C#
1int row = 0; 2for (i = 2; i <= (maxRowcount + 1); i++) 3 { 4 int clm = 0; 5 for (n = 1; n <= maxColumncount; n++) 6 { 7 //列番を条件式の回数に入れてループさせる 8 w_rgn = xlWs.Cells; 9 rgn = w_rgn[i, n]; 10 11 try 12 { 13 //書き込み処理 14 rgn.Value2 = Convert.ToString(dgvSample.Rows[row].Cells[clm].Value); 15 } 16 finally 17 { 18 //オブジェクトの開放 19 Marshal.ReleaseComObject(w_rgn); 20 Marshal.ReleaseComObject(rgn); 21 w_rgn = null; 22 rgn = null; 23 //列数カウント 24 clm = clm+1; 25 } 26 } 27 //行数カウントを+1 28 row = row + 1; 29 } 30//変数宣言等は書いてある範囲外で行っているものもあります。上記はあくまで一部です。
といった感じなのですが、書き込み部分をループで回しているため、データ量に比例して時間がかかってしまいます。
一応自分なりに調べてみたんですが、分かりにくかったこともあり、解決には至りませんでした。
是非詳しく教えて頂ければ幸いです。

回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。