以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]excel报表编程,求大神指点 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=94027) |
||||
-- 作者:18523982317 -- 发布时间:2016/12/13 16:49:00 -- [求助]excel报表编程,求大神指点 由于专业报表不能修改,可视化专业报表不会,所以转用excel报表编程,现遇到几个问题 1、根据帮助定义了style的各种属性,但是某个写单元格的style属性跟其他不一样,例如这些单元格的Sheet1(ro1,42).Style.AlignHorz = XLS.AlignHorzEnum.Left,结果全部单元格的都靠左了,求解? 2、sheet1(4+num,0).Style.BackColor = Color.Red 这个表达式该如何写?单独定义某个单元格的背景颜色
|
||||
-- 作者:有点蓝 -- 发布时间:2016/12/13 16:54:00 -- 参考:http://www.foxtable.com/webhelp/scr/1160.htm [此贴子已经被作者于2016/12/13 16:54:09编辑过]
|
||||
-- 作者:18523982317 -- 发布时间:2016/12/13 16:58:00 -- 以下是引用有点蓝在2016/12/13 16:54:00的发言:
参考:http://www.foxtable.com/webhelp/scr/1160.htm [此贴子已经被作者于2016/12/13 16:54:09编辑过] 我看了,不是没看懂,应该是没找到为什么 明明我只针对某些单元格靠左,结果全部靠左了,然后设置背景颜色报错。。。。 计算机运行代码的时候,是把前面的代码运行完了才运行后面的撒?没错啊。。。。就算前面所有单元格赋值了style属性,但是某些单元格也应该以我最后的设定的style属性为准啊。。。
[此贴子已经被作者于2016/12/13 16:58:43编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2016/12/13 17:02:00 -- 只能说你确实是没有看懂 Dim Style As XLS.Style = Book.NewStyle() \'定义新样式 Style.ForeColor = Color.Red \'设置样式的字体颜色 Sheet(0,0).Style = Style 不能直接设置sheet1(0,0).Style.BackColor = Color.Red
|
||||
-- 作者:18523982317 -- 发布时间:2016/12/13 17:06:00 -- 下面是最后引用style属性的代码。。。求解,为什么全部变红了,二是全部靠左了。。。。 For ro As Integer = 5 To num + 4 Step +1 sheet1.Rows(ro).Height = 22 For co As Integer =0 To 42 Step +1 Sheet1(ro,co).Style = Style If Sheet1(ro,co).Value = "0" Then Sheet1(ro,co).Value = "" End If Next Next For ro1 As Integer = 5 To num + 4 Step +1 If sts2.Contains(ro1) Then Sheet1(ro1,0).Style.BackColor = Color.Red Else Sheet1(ro1,42).Style.AlignHorz = XLS.AlignHorzEnum.Left End If Next
|
||||
-- 作者:18523982317 -- 发布时间:2016/12/13 17:13:00 -- 以下是引用有点蓝在2016/12/13 17:02:00的发言:
只能说你确实是没有看懂 Dim Style As XLS.Style = Book.NewStyle() \'定义新样式 Style.ForeColor = Color.Red \'设置样式的字体颜色 Sheet(0,0).Style = Style 不能直接设置sheet1(0,0).Style.BackColor = Color.Red 多谢 实验了下 正确了 我懂了,原来都必须重新定义。。。这一点 比专业报表烦人啊。。。
|
||||
-- 作者:18523982317 -- 发布时间:2016/12/13 17:36:00 -- 所有定义样式的代码,特定的行,可以变色了,但是死活不能靠左。。。。求解。。。 Dim Style As XLS.Style = Book.NewStyle() \'定义新样式 Style.BorderTop = XLS.LineStyleEnum.Thin Style.BorderBottom = XLS.LineStyleEnum.Thin Style.BorderLeft = XLS.LineStyleEnum.Thin Style.BorderRight = XLS.LineStyleEnum.Thin Style.AlignHorz = XLS.AlignHorzEnum.Center Style.AlignVert = XLS.AlignVertEnum.Center style.Font = New Font("Times New Roman",9) style.WordWrap = True For ro As Integer = 5 To num + 4 Step +1 sheet1.Rows(ro).Height = 22 For co As Integer =0 To 42 Step +1 Sheet1(ro,co).Style = Style If Sheet1(ro,co).Value = "0" Then Sheet1(ro,co).Value = "" End If Next Next For ro1 As Integer = 5 To num + 4 Step +1 If sts2.Contains(ro1-4) Then Dim Style1 As XLS.Style = Book.NewStyle() \'定义新样式 style1.BackColor = Color.Gainsboro style1.AlignHorz = XLS.AlignHorzEnum.Left style1.AlignVert = XLS.AlignVertEnum.Center style1.BorderTop = XLS.LineStyleEnum.Thin style1.BorderBottom = XLS.LineStyleEnum.Thin style1.BorderLeft = XLS.LineStyleEnum.Thin style1.BorderRight = XLS.LineStyleEnum.Thin style1.AlignHorz = XLS.AlignHorzEnum.Center style1.AlignVert = XLS.AlignVertEnum.Center style1.Font = New Font("Times New Roman",9) Sheet1(ro1,0).Style = style1 Else Dim Style2 As XLS.Style = Book.NewStyle() \'定义新样式 style2.AlignHorz = XLS.AlignHorzEnum.Left style2.AlignVert = XLS.AlignVertEnum.Center style2.BorderTop = XLS.LineStyleEnum.Thin style2.BorderBottom = XLS.LineStyleEnum.Thin style2.BorderLeft = XLS.LineStyleEnum.Thin style2.BorderRight = XLS.LineStyleEnum.Thin style2.AlignHorz = XLS.AlignHorzEnum.Center style2.AlignVert = XLS.AlignVertEnum.Center style2.Font = New Font("Times New Roman",7) Sheet1(ro1,42).Style = style2 End If Next |
||||
-- 作者:有点蓝 -- 发布时间:2016/12/13 17:50:00 -- 代码看不出问题,上例子测试 Dim Style1 As XLS.Style = Book.NewStyle() \'定义新样式 style1.BackColor = Color.Gainsboro style1.AlignHorz = XLS.AlignHorzEnum.Left style1.AlignVert = XLS.AlignVertEnum.Center style1.BorderTop = XLS.LineStyleEnum.Thin style1.BorderBottom = XLS.LineStyleEnum.Thin style1.BorderLeft = XLS.LineStyleEnum.Thin style1.BorderRight = XLS.LineStyleEnum.Thin style1.AlignHorz = XLS.AlignHorzEnum.Center style1.AlignVert = XLS.AlignVertEnum.Center style1.Font = New Font("Times New Roman",9) Dim Style2 As XLS.Style = Book.NewStyle() \'定义新样式 style2.AlignHorz = XLS.AlignHorzEnum.Left style2.AlignVert = XLS.AlignVertEnum.Center style2.BorderTop = XLS.LineStyleEnum.Thin style2.BorderBottom = XLS.LineStyleEnum.Thin style2.BorderLeft = XLS.LineStyleEnum.Thin style2.BorderRight = XLS.LineStyleEnum.Thin style2.AlignHorz = XLS.AlignHorzEnum.Center style2.AlignVert = XLS.AlignVertEnum.Center style2.Font = New Font("Times New Roman",7) For ro1 As Integer = 5 To num + 4 Step +1 If sts2.Contains(ro1-4) Then Sheet1(ro1,0).Style = style1 Else Sheet1(ro1,42).Style = style2 End If Next |
||||
-- 作者:有点色 -- 发布时间:2016/12/13 17:54:00 -- 你全部都设置成了居中,怎么可能靠左?要改成left
style2.AlignHorz = XLS.AlignHorzEnum.Center |
||||
-- 作者:18523982317 -- 发布时间:2016/12/13 17:59:00 -- 我突然想起来,是不是我是word2013版,有什么特殊的地方之类的? 麻烦看看
[此贴子已经被作者于2016/12/13 17:58:46编辑过]
|