以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 多个产品分别导出至同个excel工作簿的不同工作表 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=122357) |
-- 作者:jeffic -- 发布时间:2018/7/23 20:22:00 -- 多个产品分别导出至同个excel工作簿的不同工作表 老师请教下,我想实现一个功能 多个产品分别导出至同个excel工作簿的不同工作表 设计一个报表输出按钮,代码如下:模板没有问题,现在的问题是执行代码后,报表除了工作表名有变化,其他没反应。老师帮我看看哪里的问题。 Dim CPMS As List(OF String) = DataTables("统计表").GetValues("品名","[品名] is not null") Dim F1 As String = ProjectPath & "Reports\\业绩表.xls" Dim Book As New XLS.Book(ProjectPath & "Attachments\\业绩表.xls") \'打开模板 For Each CPM As String In CPMS Dim sheet As XLS.Sheet = Book.Sheets(0) Sheet(3,10).Value =" < [产品名1] = \'"& cpm &"\' > " \'修改模板,加入筛选条件 Book.Build() \'生成细节区 sheet.Name= cpm book.Sheets.Add(sheet.name) Book.Save(F1) \'保存工作簿 Next Dim Proc As New Process \'打开工作簿 Proc.File = F1 Proc.Start()
|
-- 作者:有点蓝 -- 发布时间:2018/7/23 20:39:00 -- Dim CPMS As List(OF String) = DataTables("统计表").GetValues("产品","[产品] is not null") Dim F1 As String = ProjectPath & "Reports\\订单.xls" Dim Book As New XLS.Book(ProjectPath & "Attachments\\订单.xls") \'打开模板 Dim sheet As XLS.Sheet = Book.Sheets(0) For Each CPM As String In CPMS Dim sh2 As XLS.Sheet = Book.Sheets.Add(CPM ) For r As Integer = 0 To sheet.Rows.Count - 1 \'填入数据 For c As Integer = 0 To sheet.Cols.Count -1 sh2(r, c).Value = sheet(r, c).Value Next Next sh2(3,9).Value =" < [产品] = \'" & cpm & "\' > " \'修改模板,加入筛选条件 Next Book.Sheets.RemoveAt(0) Book.Build() \'生成细节区 Book.Save(F1) \'保存工作簿 Dim Proc As New Process \'打开工作簿 Proc.File = F1 Proc.Start() |
-- 作者:jeffic -- 发布时间:2018/7/23 20:56:00 -- 刚试过 执行有点问题,打开存储文件失败,怎么破 |
-- 作者:有点蓝 -- 发布时间:2018/7/23 21:01:00 -- 改回自己的文件名、列名,关闭所有已经打开的Execl文件 |
-- 作者:jeffic -- 发布时间:2018/7/23 21:27:00 -- 好的,谢谢老师,辛苦了。越来越爱上这个有爱的论坛了! |