LoganChan910 发表于 2012-8-1 11:20:58

如何快速删除excel中指定行-亲,快速哦

假定:excel表格中有10000w,其中在D列不规则的出现判断条件如“是”
目的:当发现D列数据不为是的时候,立即删除其所在的行,最后保存全部为“是”的行

如果使用如下代码,执行效率非常低,切循环值越大越慢,求高手指导快速删除方法
For mm = 1 to 10000
   If(wkSheet.Cells(mm,4)<>"是") Then
      wkSheet_Log.Rows(mm).delete
   End If
Next

yazi0127 发表于 2012-8-1 12:27:39

可以利用datatable,从datatable删除后再export成excel文件。

fengdishudu444 发表于 2012-8-1 13:06:43

将excel看作数据库,使用sql语句删除,效率应该比较高

fengdishudu444 发表于 2012-8-1 14:55:29

刚查了下,excel貌似不能直接支持delete。。。。。。。

AntonioNikki 发表于 2012-8-2 14:30:57

顶一下,求解释

雷泽 发表于 2012-8-2 17:24:03

删除后行数会有变动吧。你这个循环靠谱吗?确定可以都删么?

LoganChan910 发表于 2012-8-3 10:31:33

回复 4# fengdishudu444


   那好好查查帮助文档吧

LoganChan910 发表于 2012-8-3 10:32:23

回复 6# 雷泽


    数据行肯定有变动,得用2个嵌套循环,每次都去读一次当前表格的行数,再行删除特定行

fengdishudu444 发表于 2012-8-3 13:32:47

数据量大循环肯定会慢的要死啊不能先导入到数据库    删除完再导出么
页: [1]
查看完整版本: 如何快速删除excel中指定行-亲,快速哦