以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  汇总模式下如何导出汇总行  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=176062)

--  作者:lihe60
--  发布时间:2022/3/29 7:51:00
--  汇总模式下如何导出汇总行
如题
--  作者:有点蓝
--  发布时间:2022/3/29 8:44:00
--  
导出哪里?
--  作者:lihe60
--  发布时间:2022/3/29 9:09:00
--  
导出到excel(不是excel报表)

Dim tbl As Table =
Dim
hdr As Integer = tbl.HeaderRows \'获得表头的层数
Dim
cnt As Integer
Dim
Book As New XLS.Book
Dim
Sheet As XLS.Sheet = Book.Sheets(0)
tbl.CreateSheetHeader(Sheet)
\'生成表头
For
c As Integer = 0 To tbl.Cols.Count - 1
    If tbl.Cols(c).Visible Then
       
For r As Integer = 0 to tbl.Rows.Count - 1
            sheet(r + hdr,cnt).value = tbl(r,c)
       
Next
        cnt = cnt +
1
    End If
Next

Book
.Save("c:\\reports\\test.xls")
Dim
Proc As New Process
Proc.File =
"c:\\reports\\test.xls"
Proc.Start()


--  作者:有点蓝
--  发布时间:2022/3/29 9:19:00
--  
参考:http://www.foxtable.com/webhelp/topics/1594.htm

遍历的时候加上true参数即可

        For r As Integer = 0 to tbl.Rows.Count(true) - 1
            sheet(r + hdr,cnt).value = tbl.rows(r,true)(c)
        
Next

--  作者:lihe60
--  发布时间:2022/3/29 10:51:00
--  
运行窗口1,导不出汇总行
[此贴子已经被作者于2022/3/29 10:51:23编辑过]

--  作者:lihe60
--  发布时间:2022/3/29 10:52:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar


--  作者:有点蓝
--  发布时间:2022/3/29 11:27:00
--  
那是合计不是汇总,不是一回事

合计在正常导出后,最后增加一行,使用compute统计

For c As Integer = 0 To tbl.Cols.Count - 1
    If tbl.Cols(c).Visible Then
        
For r As Integer = 0 to tbl.Rows.Count - 1
            sheet(r + hdr,cnt).value = tbl(r,c)
        
Next
        cnt = cnt + 
1
    End If
if tbl.Cols(c).name = “需要合计的列比如金额” then
sheet(tbl.Rows.Count + hdr,cnt).value = tbl.compute("sum(金额)")
endif
Next