以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教:多个sheet合并到一个sheet  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=127222)

--  作者:cdwanghc
--  发布时间:2018/11/8 17:13:00
--  请教:多个sheet合并到一个sheet
情况:
基于同一个模板,根据不同筛选条件,输出excel报表,并保存为多个工作簿(每个工作簿只有一个工作表)。
问题:
能不能将这多个工作簿中的工作表,全部复制到一个工作表上?
如何实现?
请高手指教,谢谢。

--  作者:有点甜
--  发布时间:2018/11/8 17:28:00
--  

参考

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=119637&skin=0

 


--  作者:cdwanghc
--  发布时间:2018/11/9 14:55:00
--  
大侠:是多个excel文件里面的sheet合并,不是一个excel里面的多个sheet合并。
多个excel文件,根据下面代码生成。
Dim dt As Table = Tables("表A")
If MessageBox.show("即将输出.继续吗?","请确认!",MessageBoxButtons.YesNo,MessageBoxIcon.Question)=DialogResult.Yes Then
    Dim zzbhs As List(Of String)
    zzbhs = DataTables("表A").GetValues("组织编号")
    For Each zzbh As String In zzbhs
        dt.Filter="[组织编号]=\'" & zzbh & "\' and [发货]=\'Y\'"
        If dt.Rows.Count>0
            Dim Book As New XLS.Book(ProjectPath & "Attachments\\发货标签.xls")
            Dim Sheet  As XLS.Sheet = Book.Sheets(0)
            Book.Build() 
            Sheet = Book.Sheets(0)
            Dim fs As String
            fs=ProjectPath & "Reports\\" & zzbh & "标签.xls"
            Book.Save(fs) 
            Dim Proc As New Process 
            Proc.File = fs
            Proc.Start()
        Else
            dt.Filter =""
        End If             
    Next
    MessageBox.Show("标签已输出!")
End If

--  作者:有点甜
--  发布时间:2018/11/9 14:58:00
--  
以下是引用cdwanghc在2018/11/9 14:55:00的发言:
大侠:是多个excel文件里面的sheet合并,不是一个excel里面的多个sheet合并。
 

 

一样的意思。你定义两个app,分别打开多个文件的sheet,然后复制、拷贝即可。

 

请认认真真看看2楼的代码,不会做的,上传具体实例说明你要做什么。


--  作者:cdwanghc
--  发布时间:2018/11/9 15:43:00
--  
三楼后半段文字没有发上来。后半段文字是

《请教问题:
按模板输出excel报表时,只能输出excel文件吗?能不能输出到指定的某个excel文件中的某个表上?》


上述如果不能直接实现,那就复制、拷贝。
谢谢解答


--  作者:有点甜
--  发布时间:2018/11/9 15:51:00
--  
以下是引用cdwanghc在2018/11/9 15:43:00的发言:

《请教问题:
按模板输出excel报表时,只能输出excel文件吗?能不能输出到指定的某个excel文件中的某个表上?》
 

 

只能输出excel文件。必须生成之后,拷贝,粘贴,才行。