以文本方式查看主题 - 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=121464) |
||||||||
-- 作者:happy_gile -- 发布时间:2018/7/6 16:57:00 -- [求助]生成EXCEL报表时,如何可以根据条件生成多个表头及数据 如题
|
||||||||
-- 作者:有点甜 -- 发布时间:2018/7/6 17:26:00 -- 你excel模板里面设置多少个sheet表格,你生成的时候,就能有多少个表格。
没看懂你要实现什么。尽量做个foxtable项目上来说明你需要的功能。 |
||||||||
-- 作者:happy_gile -- 发布时间:2018/7/6 17:42:00 --
[此贴子已经被作者于2018/7/6 17:42:23编辑过]
|
||||||||
-- 作者:有点甜 -- 发布时间:2018/7/6 18:15:00 -- 如果不一定要用excel显示,建议改成专业报表。更加灵活
http://www.foxtable.com/webhelp/scr/1235.htm
|
||||||||
-- 作者:happy_gile -- 发布时间:2018/7/6 19:34:00 -- 具体怎么写代码呢?? 我不会写代码,拜托了 |
||||||||
-- 作者:有点蓝 -- 发布时间:2018/7/6 20:53:00 -- 比如,细节自行调整 Dim doc As New PrintDoc \'定义一个报表 Dim rt As New prt.RenderTable() \'定义一个表格对象 doc.Body.Children.Add(rt) \'将表格对象加入到报表中 rt.Style.GridLines.All = New prt.Linedef \'设置网格线 rt.Cols.Count = 3 \'设置总列数 rt.Cells(0,1).SpanCols = 2 Dim r As Row = Tables("日报").Rows(0) rt.Cells(0,0).Text = "上日余额" rt.Cells(0,1).Text = r("余额") rt.Cells(1,1).SpanCols = 2 rt.Cells(1,0).Text = "本日收入" rt.Cells(1,1).Text = DataTables("日报").Compute("sum(借方)","借方 > 0 and 摘要 not like \'%计%\'") rt.Cells(2,0).Text = "明细" Dim drs As List(of DataRow) = DataTables("日报").Select("借方 > 0 and 摘要 not like \'%计%\'") Dim cnt As Integer = drs.Count For i As Integer = 0 To cnt - 1 rt.Cells(i+2,1).Text = drs(i)("摘要") rt.Cells(i+2,2).Text = drs(i)("借方") Next cnt = cnt+3 rt.Cells(cnt,1).SpanCols = 2 rt.Cells(cnt,0).Text = "本日支出" rt.Cells(cnt,1).Text = DataTables("日报").Compute("sum(贷方)","贷方 > 0 and 摘要 not like \'%计%\'") cnt = cnt+1 rt.Cells(cnt,0).Text = "明细" cnt = cnt+1 Doc.Preview() \'预览报表 |
||||||||
-- 作者:liufucan -- 发布时间:2019/2/15 10:40:00 -- 专业报表太复杂,可以在一张excel报表设置两个表头和两个细节区(来自同一个查询表)吗? 目前只能生成两个sheet再手动合并,太麻烦。
|
||||||||
-- 作者:有点甜 -- 发布时间:2019/2/15 11:24:00 -- 以下是引用liufucan在2019/2/15 10:40:00的发言:
专业报表太复杂,可以在一张excel报表设置两个表头和两个细节区(来自同一个查询表)吗?
不可以,一个sheet只能有一个表(或者多个父子关联表)。 |