Foxtable(狐表)用户栏目专家坐堂 → excel如何代码隐藏指定条件的行


  共有6868人关注过本帖树形打印复制链接

主题:excel如何代码隐藏指定条件的行

帅哥哟,离线,有人找我吗?
cnsjroom
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
excel如何代码隐藏指定条件的行  发帖心情 Post By:2022/9/29 12:51:00 [只看该作者]

excel如何代码隐藏指定条件的行

excel表中有一个字段  是否打印  值为是与否

怎么用代码  将是否打印等于否的行  全部显示  是否打印等于是的行  全部隐藏


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111543 积分:567821 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/9/29 13:42:00 [只看该作者]

参考:http://www.foxtable.com/webhelp/topics/1158.htm

遍历所有行,判断是否打印等于是的行  全部隐藏

 回到顶部
帅哥哟,离线,有人找我吗?
cnsjroom
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)参考:http://www.foxtable.com/webh...  发帖心情 Post By:2022/9/29 15:39:00 [只看该作者]

 

老师 当前运行错误如下:

---------------------------
版本:2022.1.30.2
---------------------------
代码执行出错,错误信息:

 

System.NullReferenceException: 未将对象引用设置到对象的实例。

   在 Foxtable.XLS.Style.set_Locked(Boolean value)

   在 UserCode.Test()
---------------------------
确定  
---------------------------

 

 

 

当前代码如下:有没有办法避免红色部分代码出错并提高效率呢?

Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("c:\data\文书编号.xls")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
Dim Rg As MSExcel.Range = Ws.UsedRange
Dim ary = rg.value

Dim Book As New XLS.Book("c:\data\文书编号.xls") '定义一个Excel工作簿
Dim Sheet As XLS.Sheet = Book.Sheets(0) '引用工作簿的第一个工作表
Dim Style As XLS.Style = Book.NewStyle() '定义新样式
Dim bb2 As Integer=Sheet.Rows.Count
Dim cc2 As Integer=Sheet.cols.Count
output.show(bb2 & "||||" & cc2)
For n As Integer = 2 To bb2
'禁止显示
    Sheet.Cols(0).Visible= False
    Sheet.Cols(1).Visible= False
    Sheet.Cols(2).Visible= False
    Sheet.Cols(3).Visible= False
    Sheet.Cols(4).Visible= False
    Sheet.Cols(5).Visible= False
    Sheet.Cols(8).Visible= False
    Sheet.Cols(9).Visible= False
    Sheet.Cols(10).Visible= False
    Sheet.Cols(16).Visible= False
'单元格禁止编辑
        Sheet(n,6).Style.Locked=True
        Sheet(n,7).Style.Locked=True
        Sheet(n,11).Style.Locked=True
        Sheet(n,12).Style.Locked=True
        Sheet(n,13).Style.Locked=True

    For i As Integer = 1 To cc2
        Sheet(n,i).Style.WordWrap=True   '单元格自动换行'
        If ary(n,8) = "1" Then
            Sheet.Rows(n).Visible= True   '当等于1时候  显示当前行'
        Else
            Sheet.Rows(n).Visible= False  '当不等于1的时候  隐藏当前行'
        End If
    Next
'设定列宽'
    Sheet.Cols(6).Width = 150
    Sheet.Cols(7).Width = 150
    Sheet.Cols(11).Width = 100
    Sheet.Cols(12).Width = 100
    Sheet.Cols(13).Width = 150
    Sheet.Cols(14).Width = 300
    Sheet.Cols(15).Width = 150
    book.Save("c:\data\文书编号1.xls")
Next
app.quit

[此贴子已经被作者于2022/9/29 15:45:35编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111543 积分:567821 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/9/29 15:57:00 [只看该作者]

Dim Style1 As XLS.Style = Book.NewStyle()
Style1..Locked=True
Sheet(n,6).Style = Style1

 回到顶部