以文本方式查看主题 - 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=119434) |
-- 作者:龙虾侠 -- 发布时间:2018/5/24 18:10:00 -- EXCEL报表导出格式问题 你好! Dim Book As New XLS.Book(ProjectPath & "Attachments\\超期周报.xls") Dim fl As String = ProjectPath & "Reports\\超期周报.xls" Book.Build() \'生成细节区 Book.Save(fl) \'保存工作簿 Dim Proc As New Process \'打开工作簿 Proc.File = fl Proc.Start() 以上这段代码是生成一张EXCEL报表 我想在这里新增一个条件格式,例如“天数>0,<=7”,这一行单元格显示红色 我在帮助中找到以下这段代码,可是不知道如何插进上面代码中 Dim dt As Table =
Tables("订单") |
-- 作者:有点甜 -- 发布时间:2018/5/24 21:09:00 -- Dim Book As New XLS.Book(ProjectPath & "Attachments\\超期周报.xls") Dim fl As String = ProjectPath & "Reports\\超期周报.xls" Book.Build() \'生成细节区 Dim Sheet As XLS.Sheet = Book.Sheets(0) \'引用工作簿的第一个工作表 Dim Style As Xls.Style = Book.NewStyle \'新建一个样式 Style.BackColor = Color.Red \'样式的背景颜色设为红色 For r As Integer = 0 To sheet.Rows.count-1 If Sheet(r+1,1).text >= 0.15 Then \'如果折扣大于等于0.15 Sheet(r+1,1).Style = Style \'设置折扣单元格的样式 End If Next Book.Save(fl) \'保存工作簿 Dim Proc As New Process \'打开工作簿 Proc.File = fl Proc.Start() |
-- 作者:龙虾侠 -- 发布时间:2018/5/28 18:12:00 -- 你这里面没有指定某一列条件大于0.15啊,我需要指定列的 |
-- 作者:有点甜 -- 发布时间:2018/5/28 18:38:00 -- 红色的行列,自己指定啊
Dim Book As New XLS.Book(ProjectPath & "Attachments\\超期周报.xls") |
-- 作者:龙虾侠 -- 发布时间:2018/5/30 11:50:00 -- For r As Integer = 0 To sheet.Rows.count-1 这段定义行 那个我定义列 : For i As Integer = 0 To sheet.Columns.count-1 可以吗? 我的需求是是要整列变色
|
-- 作者:有点甜 -- 发布时间:2018/5/30 12:49:00 -- 照抄4楼代码,修改红色代码即可啊。 |
-- 作者:龙虾侠 -- 发布时间:2018/5/30 13:42:00 -- Dim Book As New XLS.Book(ProjectPath & "Attachments\\超期周报.xls") Dim fl As String = ProjectPath & "Reports\\超期周报.xls" Book.Build() \'生成细节区 Dim Sheet As XLS.Sheet = Book.Sheets(0) \'引用工作簿的第一个工作表 Dim Style As Xls.Style = Book.NewStyle \'新建一个样式 Style.BackColor = Color.Green \'样式的背景颜色设为红色 For r As Integer = 0 To sheet.Rows.count-1 For i As Integer = 0 To sheet.Cols.count-1 If VAL(Sheet(r+1,5).text) > 0 AndAlso VAL(Sheet(r+1,5).text) <= 7 Then \'如果天数小于等于7大于0 Sheet(r+1,i).Style = Style \'设置列格式 End If Next Next Book.Save(fl) \'保存工作簿 Dim Proc As New Process \'打开工作簿 Proc.File = fl Proc.Start() 我现在研究出来是这样,满足条件能够整行变色,但是如果我需要的是:第7行满足条件,B7:E7变色,这要怎么做到呢
|
-- 作者:有点甜 -- 发布时间:2018/5/30 14:14:00 -- Dim Book As New XLS.Book(ProjectPath & "Attachments\\超期周报.xls")
Dim fl As String = ProjectPath & "Reports\\超期周报.xls"
Book.Build() \'生成细节区
Dim Sheet As XLS.Sheet = Book.Sheets(0) \'引用工作簿的第一个工作表
Dim Style As Xls.Style = Book.NewStyle \'新建一个样式
Style.BackColor = Color.Green \'样式的背景颜色设为红色
For r As Integer = 0 To sheet.Rows.count-1
If VAL(Sheet(r+1,5).text) > 0 AndAlso VAL(Sheet(r+1,5).text) <= 7 Then \'如果天数小于等于7大于0
Sheet(r+1,5).Style = Style \'设置列格式
End I
Next
Book.Save(fl) \'保存工作簿
Dim Proc As New Process \'打开工作簿
Proc.File = fl
Proc.Start()
|
-- 作者:龙虾侠 -- 发布时间:2018/5/30 14:52:00 -- 这也只是一个单元格变色啊,我要指定范围内的单元格一起变色啊 |
-- 作者:有点甜 -- 发布时间:2018/5/30 15:10:00 -- If VAL(Sheet(r+1,5).text) > 0 AndAlso VAL(Sheet(r+1,5).text) <= 7 Then \'如果天数小于等于7大于0
Sheet(r+1,1).Style = Style \'设置列格式
Sheet(r+1,2).Style = Style \'设置列格式
Sheet(r+1,3).Style = Style \'设置列格式
End I
|