Foxtable(狐表)用户栏目专家坐堂 → [求助]导出exlce年份20不显示,怎么实现?


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

主题:[求助]导出exlce年份20不显示,怎么实现?

帅哥哟,离线,有人找我吗?
湛江智
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:812 积分:6676 威望:0 精华:0 注册:2014/11/26 12:32:00
回复:(有点甜)无法直接设置。?一个一个重...  发帖心情 Post By:2018/9/18 14:44:00 [只看该作者]

坛主,

1、汇总模式最左边显示为 序号数量 1 2 3 4,下面代码怎么修改呢?

2、如果分组行位于数据之上,每个分组行后面都插入列标题,,下面代码怎么修改呢?


下面代码,汇总模式表单元格DrawCell里面的颜色,可以导出到excle表



 

Dim t As Table = Tables("室内设计项目")
Dim g As Subtotalgroup
t.SubtotalGroups.Clear()
t.GroupAboveData = True
t.TreeVisible = False
g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "设计任务要求_项目名称"
g.Caption = "{0}"
t.SubtotalGroups.Add(g)
t.Subtotal()

Dim r As Row
For i As Integer = 0 To t.Rows.Count(True) - 1
    r = t.Rows(i,True)
    If r.IsGroup '如果是分组行
r("设计任务要求_省份") = t.Rows(i+1,True)("设计任务要求_省份")
r("设计任务要求_城市") = t.Rows(i+1,True)("设计任务要求_城市")
r("设计任务要求_项目名称") = t.Rows(i+1,True)("设计任务要求_项目名称")
    End If
Next

 


图片点击可在新窗口打开查看此主题相关图片如下:提问.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2018/9/18 15:25:55编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/18 16:21:00 [只看该作者]

Dim t As Table = Tables("室内设计项目")
Dim g As Subtotalgroup
t.SubtotalGroups.Clear()
t.GroupAboveData = True
t.TreeVisible = False
g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "设计任务要求_项目名称"
g.Caption = "{0}"
t.SubtotalGroups.Add(g)
t.Subtotal()

Dim r As Row
Dim idx As Integer = 1
For i As Integer = 0 To t.Rows.Count(True) - 1
    r = t.Rows(i,True)
    If r.IsGroup '如果是分组行
        r("项目信息_项目总") = idx
        r("设计任务要求_省份") = t.Rows(i+1,True)("设计任务要求_省份")
        r("设计任务要求_城市") = t.Rows(i+1,True)("设计任务要求_城市")
        r("设计任务要求_项目名称") = t.Rows(i+1,True)("设计任务要求_项目名称")
        idx += 1
    End If
Next

 


 回到顶部
帅哥哟,离线,有人找我吗?
湛江智
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:812 积分:6676 威望:0 精华:0 注册:2014/11/26 12:32:00
回复:(有点甜)Dim t As Table = Tables("室内设计项...  发帖心情 Post By:2018/9/18 16:52:00 [只看该作者]

 如果分组行位于数据之上,每个分组行后面都插入列标题,,代码怎么修改呢?

也就是绿色的下面,增加灰色区域3行列标题

 


图片点击可在新窗口打开查看此主题相关图片如下:222.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2018/9/18 17:12:20编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/18 18:40:00 [只看该作者]

你生成excel文件之后,再打开excel文件,插入你需要的内容,学习一下vba的控制

 

Dim t As Table = Tables("室内设计项目")
Dim g As Subtotalgroup
t.SubtotalGroups.Clear()
t.GroupAboveData = True
t.TreeVisible = False
g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "设计任务要求_项目名称"
g.Caption = "{0}"
t.SubtotalGroups.Add(g)
t.Subtotal()

Dim r As Row
Dim idx As Integer = 1
For i As Integer = 0 To t.Rows.Count(True) - 1
    r = t.Rows(i,True)
    If r.IsGroup '如果是分组行
        r("项目信息_项目总") = "分组行-" & idx
        r("设计任务要求_省份") = t.Rows(i+1,True)("设计任务要求_省份")
        r("设计任务要求_城市") = t.Rows(i+1,True)("设计任务要求_城市")
        r("设计任务要求_项目名称") = t.Rows(i+1,True)("设计任务要求_项目名称")
        idx += 1
    End If
Next

Dim flg As New SaveExcelFlags
flg.CellStyle = True
t.SaveExcel("d:\test.xls", "test", flg)

Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("D:\test.xls")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets("test")
Dim urg = ws.UsedRange
Dim Rg As MSExcel.Range = Ws.Rows("1:2")  '以这个指定的单元格为基准

For i As Integer = urg.Rows.count To 3 Step -1
    Dim c = ws.cells(i, 1)
    If c.text.startswith("分组行-") Then
        c.value = c.text.replace("分组行-", "")
        Dim nr = ws.Rows(i+1)
        rg.copy
        nr.EntireRow.Insert(MSExcel.XlInsertShiftDirection.xlShiftDown)'在基准单元格上面插入一行
       
    End If
Next
Rg.Delete(MSExcel.XlDirection.xlUp) '下面的单元格上移

App.Visible = True


 回到顶部
帅哥哟,离线,有人找我吗?
湛江智
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:812 积分:6676 威望:0 精华:0 注册:2014/11/26 12:32:00
  发帖心情 Post By:2018/9/18 19:52:00 [只看该作者]

 坛主,12 楼的代码 分组汇总后,下面的行数据排序有误,怎么排除分组行后,按排序列排序呢?

我项目对8列里面的值设置了 类似下列 数字,进行排序
 r("排序") = "101,201,301,401,5001,601,701,801"

想排除不是 分组行时执行:  Tables("室内设计项目").Sort="排序"
   If r.IsGroup '如果不是分组行, 代码怎么修改呢?


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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/9/18 20:05:00 [只看该作者]

没看懂什么意思,请上传具体实例说明

 回到顶部
帅哥哟,离线,有人找我吗?
湛江智
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:812 积分:6676 威望:0 精华:0 注册:2014/11/26 12:32:00
回复:(有点蓝)没看懂什么意思,请上传具体实例说明...  发帖心情 Post By:2018/9/19 9:09:00 [只看该作者]

Dim t As Table = Tables("室内设计项目")
Dim g As Subtotalgroup
t.SubtotalGroups.Clear()
t.GroupAboveData = True
t.TreeVisible = False
g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "设计任务要求_项目名称"
g.Caption = "{0}"
t.SubtotalGroups.Add(g)
t.Subtotal()

Dim r As Row
Dim idx As Integer = 1
For i As Integer = 0 To t.Rows.Count(True) - 1
    r = t.Rows(i,True)
    If r.IsGroup '如果是分组行
        r("项目信息_项目总") = idx
        r("设计任务要求_省份") = t.Rows(i+1,True)("设计任务要求_省份")
        r("设计任务要求_城市") = t.Rows(i+1,True)("设计任务要求_城市")
        r("设计任务要求_项目名称") = t.Rows(i+1,True)("设计任务要求_项目名称")
        idx += 1
    End If
Next
Tables("室内设计项目").Sort="片区总城市项目状态排序"

 

分组统计的同时,按上面黄色代码的列排序,上面代码怎么修改呢?谢谢啊

加了上面黄色的代码,分组统计失效

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:4排序.foxdb

[此贴子已经被作者于2018/9/19 9:09:19编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/19 9:35:00 [只看该作者]

自定义排序

在默认情况下,Subtotal方法会根据分组列进行排序,然后再生成汇总模式。
Subtotal有一个可选参数,如果将其设置为True,那么在生成汇总模式时,可以自定义排序参数,而不是根据分组列排序。
例如根据日期和客户排序,分组列为客户,统计列为数量与金额,生成汇总模式:

Dim t As Table = Tables("订单")
Dim 
g As Subtotalgroup
t
.SubtotalGroups.Clear()
g = New Subtotalgroup
g
.Aggregate = AggregateEnum.Sum 
g
.GroupOn = "客户"
g
.TotalOn = "数量,金额" 
g
.Caption = "{0} 小计" 
t
.SubtotalGroups.Add(g)
g = New Subtotalgroup
g
.Aggregate = AggregateEnum.Sum
g
.GroupOn = "*" 
g
.TotalOn = "数量,金额"
g
.Caption = "总计"
t
.SubtotalGroups.Add(g)
t.Sort = 
"日期,客户" '指定排序字段
t.Subtotal(
True'生成汇总模式


 回到顶部
帅哥哟,离线,有人找我吗?
湛江智
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:812 积分:6676 威望:0 精华:0 注册:2014/11/26 12:32:00
回复:(有点甜)自定义排序在默认情况下,Subtotal...  发帖心情 Post By:2018/9/19 17:23:00 [只看该作者]

 谢谢 坛主老师
还有一个问题请教:  分组行的颜色要自定义的话,增加一句什么代码呢?

[此贴子已经被作者于2018/9/19 17:30:08编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/19 17:37:00 [只看该作者]

以下是引用湛江智在2018/9/19 17:23:00的发言:
 谢谢 坛主老师
还有一个问题请教:  分组行的颜色要自定义的话,增加一句什么代码呢?

[此贴子已经被作者于2018/9/19 17:30:08编辑过]

 

参考 http://www.foxtable.com/webhelp/scr/1577.htm

 


 回到顶部
总数 26 上一页 1 2 3 下一页