以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]工作簿合并  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=178434)

--  作者:lgj716330
--  发布时间:2022/7/4 15:40:00
--  [求助]工作簿合并
某个代码生成了一个工作簿A,但这个工作簿有30来个工作表,经常卡死打不开,现在计划分别生成三个工作簿A1、A2、A3,每个工作簿大概10来个工作表。然后再通过代码合并到一个工作簿中去,这个合并的过程要怎么写
[此贴子已经被作者于2022/7/4 15:40:25编辑过]

--  作者:有点蓝
--  发布时间:2022/7/4 15:42:00
--  
http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=97286&replyID=670470&skin=1
--  作者:lgj716330
--  发布时间:2022/7/4 20:38:00
--  
Dim dlg As New FolderBrowserDialog
Dim wj As String
If dlg.ShowDialog = DialogResult.Ok Then
    Dim Book1 As New XLS.Book 
    Dim mbwj As String = ProjectPath & "Attachments\\测试.xlsx"
    Dim Values As New List(Of String) From {ProjectPath & "Attachments\\测试1.xlsx", ProjectPath & "Attachments\\测试2.xlsx"}
    Dim Value As String
    For Each Value In Values
        wj = value
        Dim ss() As String = FileSys.GetName(wj).split(".")
        If ss(1) = "xlsx" Then
            output.show(wj)
            Dim Book2 As New XLS.Book(wj)
            For i As Integer = Book2.Sheets.Count - 1 To 0 Step - 1
                Dim Sheet = Book2.Sheets(i)
                Book2.Sheets.Remove(Sheet)
                sheet.name = ss(0) & sheet.name
                Book1.Sheets.Add(Sheet)
            Next
        End If
    Next
    Book1.Save(mbwj)
End If

图片点击可在新窗口打开查看此主题相关图片如下:微信图片_20220704203602.png
图片点击可在新窗口打开查看
上述代码把文件名如“测试1、测试2”也取过来了,怎样只取工作表名,不取文件名


--  作者:有点蓝
--  发布时间:2022/7/4 20:42:00
--  
去掉
sheet.name = ss(0) & sheet.name

就怕不同文件工作表名有重复的