以文本方式查看主题 - 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=91772) |
||||
-- 作者:qwz405 -- 发布时间:2016/10/18 18:10:00 -- [求助]导出不同工作表名的excel 能导出不同工作表名,但每个工作表的内容是全部数据,并不是和工作表名相同的部门的数据,请求帮助: \'-----先统计需要导出的部门名称 Dim g As New GroupTableBuilder("统计表24", DataTables("tps会议")) g.Groups.AddDef("部门") g.Totals.AddDef("课题编码", AggregateEnum.Count, "数量") g.Decimals = 0 g.FromServer = True g.Build() \'MainTable = Tables("统计表24") Dim dt As Date = Date.Today Dim Vals As List(of String) Vals = DataTables("统计表24").GetValues("部门") \'从统计表中获得所有部门的集合 Dim cmd As new sqlcommand Dim t As Table = Tables("tps会议") For i As Integer = 0 To Vals.Count - 1 t.Fill("select * fr om {tps会议} where 部门 = Vals(i)","litz002",False) t.saveExcel("d:\\reports\\Tps会议"& dt &".xls", Vals(i)) Next |
||||
-- 作者:有点蓝 -- 发布时间:2016/10/18 20:16:00 -- ...... Dim cmd As new sqlcommand Dim t As Table = Tables("tps会议") For i As Integer = 0 To Vals.Count - 1 t.Fill("select * fr om {tps会议} where 部门 = \'" & Vals(i)& "\'","litz002",False) t.SaveExcel("d:\\reports\\Tps会议" & dt & ".xls", Vals(i)) Next |
||||
-- 作者:qwz405 -- 发布时间:2016/10/19 9:09:00 -- 老师,应该是我的整个代码有问题。 我用了您修改的代码,结果还是:导出了不同部门命名的工作表,部门名称/数量正确,但每个工作表还是包含全部数据。 我修改成如下代码: ...... Dim cmd As new sqlcommand Dim t As Table = Tables("tps会议") For i As Integer = 0 To Vals.Count - 1 t.Fill("select * fr om {tps会议} where 部门 = \'1234\'","litz002",False) t.saveExcel("d:\\Reports\\Tps会议"& dt &".xls", Vals(i)) Next 没有部门名称是‘1234’的,应该导出的是多个空工作表,但结果和上面的一样,每个工作表全部数据。
|
||||
-- 作者:有点蓝 -- 发布时间:2016/10/19 9:56:00 -- 上传例子测试 |
||||
-- 作者:qwz405 -- 发布时间:2016/10/19 17:40:00 -- 例子
[此贴子已经被作者于2016/10/19 17:39:51编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2016/10/19 18:06:00 -- 不要自己fill自己,增加一个窗口表 Dim g As New GroupTableBuilder("统计表1", DataTables("表A")) g.Groups.AddDef("部门") g.Totals.AddDef("课题编码", AggregateEnum.Count, "数量") g.Decimals = 0 g.FromServer = True g.Build() \'MainTable = Tables("统计表24") Dim dt As Date = Date.Today Dim Vals As List(of String) Vals = DataTables("统计表1").GetValues("部门") \'从统计表中获得所有部门的集合 Dim cmd As new sqlcommand Dim t As Table = e.Form.Controls("Table1").Table For i As Integer = 0 To Vals.Count - 1 t.Fill("select * from {表A} where 部门 = \'" & Vals(i) & "\'",False) t.saveExcel("d:\\reports\\表A" & dt & ".xls", Vals(i)) Next MessageBox.Show("数据已导出,在 D:\\Reports 文件夹中查看~!","恭喜",MessageBoxButtons.OK,MessageBoxIcon.Information) |