碼棧一直被用戶嫌棄的一個問題齐苛,就是速度慢柿估。特別是可視化寫入Excel跳夭,不僅速度慢宜猜,甚至可能造成碼棧和Excel同時卡死泼返。
簡單的分析一下原因:
在可視化流程設(shè)計的畫布區(qū)域加入兩個滑塊,一個讀取excel姨拥,一個寫入excel绅喉,
然后同時按住Ctrl+Shift+P,查看自動生成的代碼叫乌,可以看到柴罐,每一次讀取和寫入都要打開和關(guān)閉Excel。Excel本身已經(jīng)是個龐然大物憨奸,打開關(guān)閉的速度并不快革屠,如果電腦上還安裝有其他Excel插件,速度就更慢了排宰。
看到這里似芝,是不是在想如果我用代碼將數(shù)據(jù)寫入Excel,只要打開一次板甘,然后循環(huán)寫入党瓮,最后再關(guān)閉,是不是速度就快了盐类。
想法是可行的寞奸,也是過去我比較推薦的寫入Excel的方法。今天我們介紹一個更快的方法在跳,特別是數(shù)據(jù)量比較大枪萄,提速更明顯。
思路:先將數(shù)據(jù)循環(huán)寫入數(shù)組猫妙,然后用J_Excel_Open打開Excel瓷翻,一次性將整個數(shù)組的數(shù)據(jù)寫入Excel,最后保存并關(guān)閉吐咳。
因為只打開和關(guān)閉一次Excel逻悠,并且只寫入一次,速度比一個個循環(huán)寫入快很多韭脊。
以上是使用數(shù)組寫入Excel精簡的代碼童谒,實際應(yīng)用中,可以根據(jù)需要進行調(diào)整沪羔。比如變量$i可以調(diào)整成更大的范圍饥伊,或者是動態(tài)變化的象浑;數(shù)組$arr[3][1]
也可以根據(jù)需要調(diào)整行列數(shù);寫入Excel的$Excel.Range("A1:C1000")需要根據(jù)數(shù)組的大小相應(yīng)的調(diào)整琅豆,或者使用變量代替愉豺。
看完文章后,你是不是想問茫因,還有更快的方法嗎蚪拦?答案是,當然有的冻押,以后分享
如果覺得文章對您有幫助驰贷,還請分享給更多人,謝謝洛巢!
三天學會碼棧數(shù)據(jù)爬蟲視頻課程:http://t.cn/RkTxyaB