2010年10月18日 星期一

VB.net EXCEL Sheet.copy導致的效率問題

使用頁籤的整個COPY可以節省程式碼的撰寫。
例如:活頁簿中有一個頁籤範本,若要針對一組號碼個別製作一個頁籤,並輸入資料在上頭。

若依照下列邏輯,會有大災難,效能會很差,甚至導致整個程式當掉。

依照個別目標,複製一頁,寫入資料,依此重複.....

For Each x In TargetList
'------------------------------------------------------------
objSheet = objExcel.sheets("Source")
objSheet.Copy(objSheet)
objExcel.sheets("Source (2)").Name = SelTargetList '修改頁籤名稱

SQL.....
range("A6")....、Cell
....

Next

若改為以下

先寫好所有內容(SQL-->Range、Cell),最後再做copy頁籤的動作,然後複製到新COPY的頁籤,刪除所在的頁籤....
雖然寫起來有點複雜,但時間上會比較節省,提供參考。

沒有留言:

張貼留言

追蹤者