以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]绘制单元格颜色导出exlce (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=128750) |
||||
-- 作者:湛江智 -- 发布时间:2018/12/14 10:24:00 -- [求助]绘制单元格颜色导出exlce 如题,下面代码导不出 绘制单元格的颜色, 要导出绘制单元格颜色,求助 Dim tt As Table = Tables("员工资料") Dim file As String = "d:\\内部通讯录.xls" Dim flg As New SaveExcelFlags flg.CellStyle = True tt.SaveExcel(file ,tt.name,flg) Dim Book As New XLS.Book(file) Dim Sheet1 As XLS.Sheet = Book.Sheets(0) Dim Style As XLS.Style = Book.NewStyle() \'定义新样式 Style.ForeColor = Color.Crimson \'设置样式的字体颜色 \'Style.ForeColor = Color.Blue \'设置样式的字体颜色 Style.FontBold = True \'Style.BackColor = Color.Cyan \'Style.BackColor = Color.LightCyan Style.BackColor = Color.LightGray Style.BorderTop = XLS.LineStyleEnum.None Style.BorderBottom = XLS.LineStyleEnum.None Style.BorderLeft = XLS.LineStyleEnum.None Style.BorderRight = XLS.LineStyleEnum.None style.AlignVert = XLS.AlignVertEnum.Center For n As Integer = 0 To Sheet1.Rows.Count -1 \'\'导出逻辑列 打钩 \'If Sheet1(n,6).Value = "1" Then \'Sheet1(n,6).Value = "√" \'Else \'Sheet1(n,6).Value = "" \'End If \'\'导出逻辑列 打钩 If Sheet1(n,0).Value.contains("_") Then If n > 2 Then For c As Integer = 0 To 39 Sheet1 (n,c).Style = Style Next End If Else For c As Integer = 0 To 39 try \'If Sheet1(n,c).Style.BackColor.G <> 255 Then If Sheet1(n,c).Style.BackColor.G <> 255 OrElse Sheet1(n,c).Style.BackColor.R <> 255 OrElse Sheet1(n,c).Style.BackColor.B <> 255 Then Else Sheet1(n,c).Style = book.NewStyle End If catch ex As exception Sheet1(n,c).Style = book.NewStyle End try Sheet1(n,c).Style.BorderTop = XLS.LineStyleEnum.Thin Sheet1(n,c).Style.BorderBottom = XLS.LineStyleEnum.Thin Sheet1(n,c).Style.BorderLeft = XLS.LineStyleEnum.Thin Sheet1(n,c).Style.BorderRight = XLS.LineStyleEnum.Thin Sheet1(n,c).Style.BorderColorTop = Color.Gray Sheet1(n,c).Style.BorderColorBottom = Color.Gray Sheet1(n,c).Style.BorderColorLeft = Color.Gray Sheet1(n,c).Style.BorderColorRight = Color.Gray Sheet1(n,c).Style.AlignVert = XLS.AlignVertEnum.Center Sheet1(n,c).Style.AlignHorz = XLS.AlignHorzEnum.Center Next End If Next Book.Save(file) Dim Proc As New Process Proc.File = file Proc.Start() |
||||
-- 作者:有点甜 -- 发布时间:2018/12/14 10:34:00 -- 1、单独执行这个代码,能否导出?
Dim tt As Table = Tables("员工资料")
2、是不是这个问题?
http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=125505&authorid=0&page=0&star=2
3、实例发上来测试
|
||||
-- 作者:湛江智 -- 发布时间:2018/12/14 11:40:00 -- 回复:(有点甜)1、单独执行这个代码,能否导出?&... 大师,执行上楼代码 1 导出绘制单元格颜色失败 2 可能是分组统计颜色的问题————之前的求助帖子 3、辛苦调试下面项目:
加密狗不能升级了,高于2018-07-09版本打不开,不会意思哈
|
||||
-- 作者:有点甜 -- 发布时间:2018/12/14 12:21:00 -- 更换颜色即可。换一种可以正常的颜色
http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=125505&authorid=0&page=0&star=2 [此贴子已经被作者于2018/12/14 12:22:43编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2018/12/14 12:24:00 -- 我测试例子,没问题,导出的数据有颜色的。
Dim tt As Table = Tables("室内设计项目") |
||||
-- 作者:湛江智 -- 发布时间:2018/12/14 14:04:00 -- 回复:(有点甜)我测试例子,没问题,导出的数据有颜... 大师,上楼代码,导出excle 进度列,单元格绘制的颜色失败
[此贴子已经被作者于2018/12/14 14:04:45编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2018/12/14 15:26:00 -- 对于直接绘制的内容,导出的时候,不会绘制的。
你可以直接在excel里面设置进度条,如
https://jingyan.baidu.com/article/8cdccae931aa10315413cdd3.html
https://jingyan.baidu.com/article/495ba841b15beb38b30edeac.html
|
||||
-- 作者:湛江智 -- 发布时间:2018/12/14 15:43:00 -- 回复:(有点甜)对于直接绘制的内容,导出的时候,不... 大师,因为导出的 进度列 颜色是每天动态且多种色彩的,在excle里设置实在是不方便,辛苦有空帮帮了 或者有参考的例子,可以参考嘛? |
||||
-- 作者:有点甜 -- 发布时间:2018/12/14 17:04:00 -- 以下是引用湛江智在2018/12/14 15:43:00的发言:
大师,因为导出的 进度列 颜色是每天动态且多种色彩的,在excle里设置实在是不方便,辛苦有空帮帮了 或者有参考的例子,可以参考嘛?
没办法,这个没办法。你可以学习vba,录制宏看代码,然后改写成foxtable,动态操作excel动态设置颜色
http://www.foxtable.com/webhelp/scr/2121.htm
|