Foxtable(狐表)用户栏目专家坐堂 → 关于单元格,行,列style优先问题


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

主题:关于单元格,行,列style优先问题

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


加好友 发短信
等级:小狐 帖子:366 积分:2478 威望:0 精华:0 注册:2013/1/13 23:43:00
关于单元格,行,列style优先问题  发帖心情 Post By:2013/9/23 16:41:00 [只看该作者]

Dim fl As String = ProjectPath & "Reports\订单.XLS"
Dim Book As New XLS.Book(fl)
Dim Sheet As XLS.Sheet = Book.Sheets(0)

 

For i As Integer = 0 To sheet.Rows.count - 1
    sheet.Rows(i).Height = 40
Next

Dim v As Integer = sheet.Rows(3).Height * 3/4
Dim fnt As New Font("黑体",v,FontStyle.regular)
Dim Style As XLS.Style = Book.NewStyle() '定义新样式
Style.Font = fnt
For i As Integer = 0 To sheet.Rows.count - 1  
    'For c As Integer = 0 To sheet.Cols.count - 1
           'sheet(i,c).Style=Style  
    'Next    

sheet.rows(i).Style=Style  
Next
book.Save(fl)

 

上面这段代码,意图在于根据某行的height值改变相关单元格(或者行)的文字字号。

测试时手工修改蓝字行的数值观察代码是否起作用。

轮流注释掉红字部分和绿字部分的代码,发现绿字部分的代码不起作用(但也不会报错),有什么办法能让绿字部分的代码能其作用吗?最好是绿字和红字部分的代码能协调运行,以便更加灵活地控制报表的字体。

 

例子如下,请指教

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:例子.zip


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/9/23 16:44:00 [只看该作者]

样式都有优先级别,这个你既然自己测试知道了.还有必要问吗?



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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/9/23 16:59:00 [只看该作者]

因为单元格的样式优先于行的样式,如果在excel中设置过单元格样式,或者用代码设置过单元格样式,行样式就不会生效的,这是没有办法的,一般只能逐个单元格设置样式。

 

[此贴子已经被作者于2013-9-23 17:00:08编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
东坡一剑
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:366 积分:2478 威望:0 精华:0 注册:2013/1/13 23:43:00
  发帖心情 Post By:2013/9/24 11:52:00 [只看该作者]

那么有没有办法用代码清除所有单元格样式,然后再用代码重新逐个设置,就像先用datattables("表").loadfilter = ""先清除所有加载条件再重新设置加载条件一样?因为我发现就算是新建的Excel,行与列的style属性设置也不起作用。这样一来,行与列的style属性就成为一个摆设,但是有不少场合又确实需要这个功能。知识有限,可能我说错了,希望大家指正。

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/9/24 11:55:00 [只看该作者]

这个估计得循环一遍才能清楚样式,但是为什么要重新清除呢? 你本来就不要设置样式,然后根据需求使用代码设定不行吗?

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/9/24 11:58:00 [只看该作者]

呵呵,是的,循环清除单元格样式,不如循环给单元格指定样式。

 回到顶部
帅哥哟,离线,有人找我吗?
东坡一剑
  7楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:366 积分:2478 威望:0 精华:0 注册:2013/1/13 23:43:00
  发帖心情 Post By:2013/9/24 18:04:00 [只看该作者]

那就只能循环设置了。谢谢哦!

 回到顶部