Foxtable(狐表)用户栏目专家坐堂 → [求助]excel模板输出报告style设置


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

主题:[求助]excel模板输出报告style设置

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


加好友 发短信
等级:小狐 帖子:358 积分:4035 威望:0 精华:0 注册:2014/7/29 23:42:00
[求助]excel模板输出报告style设置  发帖心情 Post By:2016/10/8 22:09:00 [只看该作者]

我想用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()


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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/9 9:25:00 [只看该作者]

先生成细节区,在打开文件进行修改

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


加好友 发短信
等级:小狐 帖子:358 积分:4035 威望:0 精华:0 注册:2014/7/29 23:42:00
回复:(有点蓝)先生成细节区,在打开文件进行修改  发帖心情 Post By:2016/10/9 20:28:00 [只看该作者]

之前就是先生成细节区,然后修改,不行呢。

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


加好友 发短信
等级:小狐 帖子:358 积分:4035 威望:0 精华:0 注册:2014/7/29 23:42:00
回复:(有点蓝)先生成细节区,在打开文件进行修改  发帖心情 Post By: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()


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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/10 9:31:00 [只看该作者]

测试没有问题,上例子说明

 回到顶部