以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]excel模板输出报告style设置 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=91346) |
-- 作者:machle -- 发布时间:2016/10/8 22:09:00 -- [求助]excel模板输出报告style设置 我想用excel模板输出报告,报告中R列为4的时候,想让单元格背景色是红色。但是不成功,请帮我检查一下代码吧。 messagebox能弹出正确的结果,但是style不管用。 谢谢!! Case "report" CurrentTable.Filter = "" CurrentTable.AutoSizeRows() Dim dt As Table = Tables("分析报告") Dim Book As New XLS.Book(ProjectPath & "Attachments\\分析报告ZSY.xls") Dim fl As String = ProjectPath & "Reports\\分析报告ZSY.xls" Dim Sheet As XLS.Sheet = Book.Sheets(0) \'引用工作簿的第一个工作表 Dim Style4 As Xls.Style = Book.NewStyle \'新建一个样式 Style4.BackColor = Color.Red \'样式的背景颜色设为红色 For r As Integer = 0 To dt.Rows.Count - 1 \'填入数据 If dt.rows(r)("R") = "4" Then \'如果折扣大于等于0.15 Sheet(r + 1,dt.Cols("R").Index).Style = Style4 \'设置折扣单元格的样式 messagebox.show(dt.Cols("R").Index) End If Next Book.Build() \'生成细节区 Book.Save(fl) \'保存工作簿 Dim Proc As New Process \'打开工作簿 Proc.File = fl Proc.Start() CurrentTable.AutoSizeRows() |
-- 作者:有点蓝 -- 发布时间:2016/10/9 9:25:00 -- 先生成细节区,在打开文件进行修改 |
-- 作者:machle -- 发布时间:2016/10/9 20:28:00 -- 回复:(有点蓝)先生成细节区,在打开文件进行修改 之前就是先生成细节区,然后修改,不行呢。 |
-- 作者:machle -- 发布时间:2016/10/9 21:30:00 -- 回复:(有点蓝)先生成细节区,在打开文件进行修改 还是不行 Dim dt As Table = Tables("分析报告") Dim Book As New XLS.Book(ProjectPath & "Attachments\\分析报告ZSY.xls") Dim fl As String = ProjectPath & "Reports\\分析报告ZSY.xls" Book.Build() \'生成细节区 Dim Sheet As XLS.Sheet = Book.Sheets(0) \'引用工作簿的第一个工作表 Dim Style4 As Xls.Style = Book.NewStyle \'新建一个样式 Style4.BackColor = Color.Red \'样式的背景颜色设为红色 For r As Integer = 0 To dt.Rows.Count - 1 \'填入数据 If dt.rows(r)("R") = "4" Then \'如果折扣大于等于0.15 Sheet(r + 1,dt.Cols("R").Index).Style = Style4 \'设置折扣单元格的样式 \'Sheet(r + 1,dt.Cols("R").Index).Value ="四" \'messagebox.show(dt.Cols("R").Index) End If Next Book.Save(fl) \'保存工作簿 Dim Proc As New Process \'打开工作簿 Proc.File = fl Proc.Start() CurrentTable.AutoSizeRows() |
-- 作者:有点蓝 -- 发布时间:2016/10/10 9:31:00 -- 测试没有问题,上例子说明 |