以文本方式查看主题 - 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=129204) |
||||
-- 作者:蓝蚂蚁 -- 发布时间:2018/12/24 9:29:00 -- 如何批量导出excel报表 A表有如下结构: 配送公司 产品名称 规格 单位 .. ... .. A公司 ...... ..... .... A公司 ...... ..... .... B公司 ...... ..... .... B公司 ...... ..... .... C公司 ...... ..... .... excel模板已设计好,名称分别是A公司报表、B公司报表、C公司报表,现在想把A表数据中配送公司是A公司的行导出到A公司报表,B公司的导出到B公司报表,C公司导出到C公司报表。思路是在窗口中做一个按钮,只要点击这个按钮就能一下导出这3个报表,不知道按钮代码如何编写?
|
||||
-- 作者:有点甜 -- 发布时间:2018/12/24 10:03:00 -- Dim cs() As String = {"A", "B", "C"} For Each c As String In cs Dim Book As New XLS.Book(ProjectPath & "Attachments\\出库单.xls") Dim fl As String = ProjectPath & "Reports\\出库单" & c & ".xls" Tables("表A").filter = "第一列=\'" & c & "\'" Book.Build() \'生成细节区 Book.Save(fl) \'保存工作簿 Dim Proc As New Process \'打开工作簿 Proc.File = fl Proc.Start() Next |
||||
-- 作者:蓝蚂蚁 -- 发布时间:2018/12/24 15:07:00 -- 老师您好 按照你的代码进行操作,其结果是:得到了3个报表,名称分别是:出库单A,出库单B、出库单C,但这3个报表的内容都一样的,是不是【Tables("表A").filter = "第一列=\'" & c & "\'"】不起作用? |
||||
-- 作者:有点甜 -- 发布时间:2018/12/24 15:09:00 -- 你excel模板的条件那里,设置条件为 <All>
http://www.foxtable.com/webhelp/scr/0201.htm
|
||||
-- 作者:蓝蚂蚁 -- 发布时间:2018/12/24 16:47:00 --
模板里面已经有<ALL>的,我上传了附件,烦老师帮修改一下,谢谢。
|
||||
-- 作者:蓝蚂蚁 -- 发布时间:2018/12/24 16:52:00 -- Reports下面3个报表中,其内容都是一样的,这不符合要求。按要求应该是导出的报表中,其“出库单A公司”这个报表里面只有A公司的数据,其他的同理。 [此贴子已经被作者于2018/12/24 16:53:24编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2018/12/24 16:54:00 --
|
||||
-- 作者:蓝蚂蚁 -- 发布时间:2018/12/24 16:58:00 -- 大神啊,谢谢 |
||||
-- 作者:蓝蚂蚁 -- 发布时间:2019/3/17 11:26:00 -- 呼叫版主:
如何删除按照模板导出报表的第一行,如上图 模板中第一行的<end>,经过实践不能放到第二行,如果放到第二行导出的结果达不到要求。 |
||||
-- 作者:有点蓝 -- 发布时间:2019/3/18 9:17:00 -- 我测试没有问题 <end>放到第二行,然后删除第一行
|