以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]导出excle分组统计字体颜色和加粗  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=125505)

--  作者:湛江智
--  发布时间:2018/9/29 16:14:00
--  [求助]导出excle分组统计字体颜色和加粗

要导出excle分组统计字体——红颜色和加粗,求助

 

分组模式代码如下:

\'汇总模式----------------------------------------
\'\'分组统计
Dim tt As Table = Tables("订单")
Dim gg As Subtotalgroup
tt.SubtotalGroups.Clear()
tt.GroupAboveData = True
tt.TreeVisible = False
gg = New Subtotalgroup
gg.Aggregate = AggregateEnum.Sum
gg.GroupOn = "客户"
gg.Caption = "{0}"
tt.SubtotalGroups.Add(gg)
tt.Subtotal()
tt.DataTable.SysStyles("Subtotal0").FontBold = True
tt.DataTable.SysStyles("Subtotal0").ForeColor = Color.Red

 

 

 


图片点击可在新窗口打开查看此主题相关图片如下:导出excle分组统计字体颜色和加粗.png
图片点击可在新窗口打开查看

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:导出excle分组统计字体颜色和加粗.foxdb

[此贴子已经被作者于2018/9/29 17:40:10编辑过]

--  作者:有点蓝
--  发布时间:2018/9/29 16:27:00
--  
不支持这种用法。需要导出后再使用代码设置:
--  作者:湛江智
--  发布时间:2018/9/29 17:24:00
--  回复:(有点蓝)不支持这种用法。需要导出后再使用代...
大师,帮忙看看,怎么改下面代码呢》

 Dim Book As New XLS.Book
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Dim Style As XLS.Style = Book.NewStyle() \'定义新样式
\'Style.ForeColor = Color.Red \'设置样式的字体颜色


Dim r As Row
    If r.IsGroup \'如果是分组行
Style.ForeColor = Color.Red \'设置样式的字体颜色
Style.FontBold = True
    End If



Book.Save("d:\\test.xls")
Dim Proc As New Process
Proc.File = "d:\\test.xls"
Proc.Start()
--  作者:有点蓝
--  发布时间:2018/9/29 17:33:00
--  
不能这样判断,你要循环Execl表格所有行,判断这行第一个单元格是否包含“小计”这种字符,然后给这行设置样式
--  作者:湛江智
--  发布时间:2018/9/29 17:36:00
--  回复:(有点蓝)不能这样判断,你要循环Execl表格所有...
 问题是
1、没有 小计 2个字——— 1楼红色位置
2、且 产品名称都是不一样的

如果一定要加共性文字 就不用小计 在前面加缀共性文字 产品名称:
代码怎么写呢?
[此贴子已经被作者于2018/9/29 18:20:31编辑过]

--  作者:有点蓝
--  发布时间:2018/9/30 8:29:00
--  
那就找一些共性的东西,比如“产品”单元格有内容,“客户、雇员”等单元格没有内容的基本算是汇总行
--  作者:湛江智
--  发布时间:2018/9/30 12:21:00
--  回复:(有点蓝)那就找一些共性的东西,比如“产品”...

大师,辛苦再指点,怎么修改了,谢谢

1.分组统计字体加粗和红色显示

2.同时要导出excle单元格线框黑色,

 

Dim t As Table = Tables("订单")
Dim file As String = "d:\\凤飞飞.xls"
Dim flg As New SaveExcelFlags
flg.CellStyle = True
t.SaveExcel(file,t.name,flg)

 

Dim App As New MSExcel.Application
Dim Wb As MSExcel.Workbook = App.WorkBooks.Open(file)
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
Dim Rg As MSExcel.Range = Ws.UsedRange

 

Dim Book As New XLS.Book
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Dim Style As XLS.Style = Book.NewStyle() \'定义新样式


Dim dr As Row = Tables("订单").Current
If dr.IsNull("客户") = True Then
\'Rg.Style =Style \'设置单元格样式
t.DataTable.SysStyles("Subtotal0").FontBold = True
t.DataTable.SysStyles("Subtotal0").ForeColor = Color.Crimson
End If

       
\'打开工作簿
Dim Proc As New Process
Proc.File = "d:\\凤飞飞.xls"
Proc.Start()

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:分组字体加粗及红色导出excle.foxdb

 

[此贴子已经被作者于2018/9/30 12:39:54编辑过]

--  作者:有点蓝
--  发布时间:2018/9/30 13:40:00
--  
Dim file As String = "E:\\问题\\aaa.xls"
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.Red \'设置样式的字体颜色
Style.FontBold = True

For n As Integer = 1 To Sheet1.Rows.Count -1
    If Sheet1(n,1).Value = "" Then
        Sheet1(n,0).Style = Style
    End If
Next

Book.Save(file)
Dim Proc As New Process 
Proc.File = file
Proc.Start()

--  作者:湛江智
--  发布时间:2018/9/30 14:10:00
--  回复:(有点蓝)Dim file As String = "E:\问题\aaa....

大师,上面代码报错

 


图片点击可在新窗口打开查看此主题相关图片如下:报错.jpg
图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2018/9/30 14:26:00
--  
改为自己的文件路径啊,这种代码还看不懂?

Dim file As String = "E:\\问题\\aaa.xls"