以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]如何删除Excel里特定行高的行? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=162100) |
||||
-- 作者:1669607010 -- 发布时间:2021/4/6 8:41:00 -- [求助]如何删除Excel里特定行高的行? 有个比较奇葩的需求,哪位老师指导一下,有没有办法删除Excel里行高为0.5的所有行? |
||||
-- 作者:有点蓝 -- 发布时间:2021/4/6 8:45:00 -- 遍历所有行,如果行高为0.5就删除:http://www.foxtable.com/webhelp/topics/1158.htm Dim Book As New XLS.Book("c:\\test\\订单.xls") Dim Sheet As XLS.Sheet = Book.Sheets(0) For n As Integer = Sheet.Rows.Count -1 to 0 step -1 if Sheet.Rows(n).Height = 0.5 then Sheet.Rows.RemoveAt(n) end if
Next |
||||
-- 作者:1669607010 -- 发布时间:2021/4/6 8:50:00 -- 谢谢老师指导 |
||||
-- 作者:1669607010 -- 发布时间:2021/4/6 10:11:00 -- 蓝老师,还有一个问题,代码能删除特定的行,但删除的行后面的行的格式怎么变了 ?也就是说特定的行是删除了,可格式貌似没删除、删除行后的行就都错位了。 |
||||
-- 作者:有点蓝 -- 发布时间:2021/4/6 10:13:00 -- 试试 For n As Integer = Sheet.Rows.Count -1 to 0 step -1 if Sheet.Rows(n).Height = 0.5 then Sheet.Rows(n).style = nothing Sheet.Rows.RemoveAt(n) end if Next |
||||
-- 作者:1669607010 -- 发布时间:2021/4/6 10:18:00 -- 加上那句代码后提示“未将对象引用设置对象的实例” |
||||
-- 作者:有点蓝 -- 发布时间:2021/4/6 10:21:00 -- execl文件发上来测试 |
||||
-- 作者:1669607010 -- 发布时间:2021/4/6 10:33:00 -- 为了方便您观看,需要删除的行高调成10了,在EXCEL里也标注出来了
|
||||
-- 作者:有点蓝 -- 发布时间:2021/4/6 10:50:00 -- 测试没有问题: Dim Book As New XLS.Book("D:\\问题\\外购原料出库单a4.xls") Dim Sheet As XLS.Sheet = Book.Sheets(0) For n As Integer = Sheet.Rows.Count -1 To 0 Step -1 \'Output.Show(Sheet.Rows(n).Height) If Sheet.Rows(n).Height = 13 Then Sheet.Rows(n).Style = Nothing Sheet.Rows.RemoveAt(n) End If Next Book.Save("D:\\问题\\外购原料出库单a4.xls") 哪一行样式有问题?
|
||||
-- 作者:1669607010 -- 发布时间:2021/4/6 11:05:00 -- 谢谢老师。完美解决了 |