以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]导出指定列后汇总消失 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=154709) |
-- 作者:luoyafeng -- 发布时间:2020/9/24 13:58:00 -- [求助]导出指定列后汇总消失 《分割报表》按钮使用以下代码进行了分组汇总 ******************************************************************** Dim t As Table = Tables("餐费数据明细") Dim g As Subtotalgroup t.SubtotalGroups.Clear() Tables("餐费数据明细").Sort = "所属年份,所属月份,部门,项目编号" \'定义项目分组 g = New Subtotalgroup g.GroupOn = "项目编号" g.TotalOn = "金额" t.SubtotalGroups.Add(g) \'定义部门分组 g = New Subtotalgroup g.GroupOn = "部门" g.TotalOn = "金额" t.SubtotalGroups.Add(g) \'定义总计分组 g = New Subtotalgroup g.GroupOn = "*" g.TotalOn = "金额" t.SubtotalGroups.Add(g) t.Subtotal() \'生成汇总模式 *********************************************************************** 《导出报表》按钮使用下面的代码就可以把生成的汇总带格式的导出来 *********************************************************************** Dim dlg As New SaveFileDialog \'定义一个新的SaveFileDialog dlg.Filter= "Excel文件|*.xls" \'设置筛选器 If dlg.ShowDialog = DialogResult.Ok Then Book.Save(dlg.FileName) Dim Proc As New Process Proc.File = dlg.FileName Proc.Start() End If *********************************************************************** 但是只想导出里面部分列,不想全部导出,就在《导出报表》按钮里面尝试了以下方法 *********************************************************************** Dim dt As Table = Tables("餐费数据明细") Dim nms() As String = {"所属年份","所属月份","姓名","部门","项目编号","金额"} \'要导出的列名 Dim caps() As String = {"所属年份","所属月份","姓名","部门","项目编号","金额"} \'对应的列标题 Dim szs() As Integer = {80,80,80,110,110,80} \'对应的列宽 Dim Book As New XLS.Book \'定义一个Excel工作簿 Dim Sheet As XLS.Sheet = Book.Sheets(0) \'引用工作簿的第一个工作表 Dim st As XLS.Style = Book.NewStyle \'日期列的显示格式 st.Format = "yyyy-MM-dd" For c As Integer = 0 To nms.length -1 Sheet(0, c).Value = caps(c) \'指定列标题 Sheet.Cols(c).Width = szs(c) \'指定列宽 If dt.Cols(nms(c)).IsDate Then \'如果是日期列 Sheet.Cols(c).Style = st \'设置显示格式 End If Next For r As Integer = 0 To dt.Rows.Count - 1 \'填入数据 For c As Integer = 0 To nms.length -1 Sheet(r +1, c).Value = dt.rows(r)(nms(c)) Next Next *********************************************************************** 导出后分组汇总的格式消失了 *********************************************************************** 提问:如何在保持分组汇总的前提下,导出指定列(导出列名:所属月份,所属年份,部门,项目编号,姓名,金额) |
-- 作者:有点蓝 -- 发布时间:2020/9/24 15:08:00 -- 《导出报表》按钮使用下面的代码就可以把生成的汇总带格式的导出来 --- 把这个代码完整贴出来 |
-- 作者:luoyafeng -- 发布时间:2020/9/24 15:26:00 -- 代码是完整的。在导出前已经通过排序、筛选、汇总完成了,就是第一大段代码 |
-- 作者:有点蓝 -- 发布时间:2020/9/24 15:41:00 -- 请上传实例说明 |