如何在Excel InterOp中创建Excel工作表并将其添加到多个工作簿中

多加河

我一直遵循以下模式使用Excel InterOp创建多个工作表和多个工作簿。现在,我需要创建一个称为主工作簿的文件,该工作簿将包含我在原始工作簿中创建的工作表中的一些工作表。仅举一个例子,假设WorkBook1具有Sheet1和Sheet2,而Workbook2具有sheet3和sheet4。我希望主工作簿具有Sheet1和Sheet3。我正在寻找一种方法来创建我一直在为WorkBook1和WorkBook2创建的工作表(sheet1,sheet2,sheet3,sheet4),但是还要以最少的代码重复次数将sheet1和sheet3添加到Master工作簿中。任何帮助将不胜感激。

For i = 1 To 10
   Dim xlApp As Application = New Application
   Dim xlWorkBook As Workbook
   xlWorkBook = xlApp.Workbooks.Add
   Dim xlWorkSheet As Worksheet
   Dim xlSheets As Sheets = xlWorkBook.Sheets
   Dim xlNewSheet As Worksheet
   Dim sheetCount As Integer = 1

   ' So I repeat the following block to add multiple sheets with different content to a WorkBook
   xlNewSheet = xlSheets.Add(xlSheets(sheetCount), Type.Missing, Type.Missing, Type.Missing)
   sheetCount += 1
   xlNewSheet.Name = SomeName
   xlWorkSheet = xlWorkBook.Sheets(SomeName)
   AddContentToSheet(xlNewSheet) ' A Sub that adds real content to the sheet
   .
   .
   .
   .

   xlWorkBook.SaveAs(...)
   xlWorkBook.Close()
   xlApp.Quit()
Next i

所以现在,我的问题是,如果我有我的主工作簿:

Dim MasterWorkBook As Workbook
MasterWorkBook = xlApp.Workbooks.Add

在重复10次以创建10个不同WorkBook的循环之前定义。如何以最少的代码重复量将选择的工作表添加到MasterWorkBook。

2342G456DI8
    Dim xlApp As Application = New Application
    Dim masterWb As Workbook
    masterWb = xlApp.Workbooks.Add

    For i = 1 To 3
        Dim xlWorkBook As Workbook
        xlWorkBook = xlApp.Workbooks.Add
        Dim ws As Worksheet
        'Dim xlSheets As Sheets = xlWorkBook.Sheets
        'Dim xlNewSheet As Worksheet
        For j = 1 To 2
            Try
                ws = xlWorkBook.Sheets.Add(, xlWorkBook.Sheets(xlWorkBook.Sheets.Count))
                ws.Name = i + j
                AddContentToSheet(ws)
                If j = 1 Then
                    ws.Copy(, masterWb.Sheets(masterWb.Sheets.Count))
                End If
            Catch
                ws = Nothing
                xlWorkBook.Close()
                xlWorkBook = Nothing
                xlApp.Quit()
                xlApp = Nothing
                Console.WriteLine("error")
                Exit Sub
            End Try
        Next j

        'AddContentToSheet(xlNewSheet) ' A Sub that adds real content to the sheet
        ws = Nothing
        xlWorkBook.SaveAs("C:\Users\Documents\Visual Studio 2008\Project\" + Str(i) + ".xlsx")
        xlWorkBook.Close()
        xlWorkBook = Nothing
    Next i

    masterWb.Sheets("Sheet1").Delete()
    masterWb.Sheets("Sheet2").Delete()
    masterWb.Sheets("Sheet3").Delete()
    masterWb.SaveAs("C:\Users\Documents\Visual Studio 2008\Project\master.xlsx")
    masterWb.Close()
    masterWb = Nothing
    xlApp.Quit()
    xlApp = Nothing
End Sub

Sub AddContentToSheet(ByVal a As Worksheet)
    a.Cells(1, 1) = "abc"
    a.Cells(1, 2) = "abc"
End Sub

该代码创建3个工作簿,并在每个工作簿的末尾添加2个工作表。并将第一个添加的工作表从每个工作簿复制到主工作簿。并记住使用后释放对象引用。希望能帮助到你:)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Excel InterOp中创建Excel工作表并将其添加到多个工作簿

来自分类Dev

循环以在多个Excel工作簿中创建多个工作表

来自分类Dev

Excel VBA搜索目录并将超链接添加到新工作簿中的目录工作簿

来自分类Dev

将工作表添加到Excel工作簿

来自分类Dev

Excel宏,用于从一个工作表中的特定字段复制数据,仅保留该值并将其添加到另一工作表中

来自分类Dev

从excel工作表中获取数据并将其复制到活动工作簿中

来自分类Dev

如何使用PHPExcel将多个HTML表单数据添加到Excel工作表中

来自分类Dev

如何在同一工作簿中创建到其他Excel工作表的超链接

来自分类Dev

如何让 Pandas Excel writer 附加到工作簿中的现有工作表而不是创建新工作表?

来自分类Dev

通过Python在Excel工作簿中的多个工作表中添加单元格值

来自分类Dev

阅读同一目录中的所有Excel工作簿,每个工作簿都有多个工作表,并将每个工作表导出为R中的.csv

来自分类Dev

无法踢出 Excel 工作簿中默认创建的工作表

来自分类Dev

尝试使用 R 在 Excel 工作簿中创建多个工作表,但在几次后收到错误

来自分类Dev

查找并将数据库中的相关数据添加到另一个Excel工作表中

来自分类Dev

使用Open Xml将列添加到现有Excel 2007工作簿中

来自分类Dev

如何将多个图表添加到一个Excel的不同工作表中?

来自分类Dev

如何将 Excel 工作簿中的字符串添加到空数据框中?

来自分类Dev

Excel VBA。从多个工作簿中查找带有关键字的数据并将其复制到主工作簿中

来自分类Dev

从多个Excel工作表中复制数据,然后使用VBScript将其追加到单个Excel工作表中

来自分类Dev

如何在Excel中搜索和合并多个工作表?

来自分类Dev

使用VBA或任何其他方式将列名称添加到EXCEL中的多个工作表中

来自分类Dev

如何使用EPPlus将新工作表添加到现有的Excel文件中?

来自分类Dev

如何使用PowerShell将VBA代码添加到Excel工作表中?

来自分类Dev

如何使用Excel.Microsoft.Office.Interop从Excel获取图表并将其添加到Word?

来自分类Dev

如何在大型Excel工作簿中对工作表重新编号?

来自分类Dev

如何在for循环中写入同一工作簿中的单独excel工作表?

来自分类Dev

将工作表添加到现有的Excel工作表中而不删除其他工作表

来自分类Dev

如何创建和命名引用工作簿中单元格的Excel工作表

来自分类Dev

Alasql-如何在一个工作簿中创建多个工作表?

Related 相关文章

  1. 1

    如何在Excel InterOp中创建Excel工作表并将其添加到多个工作簿

  2. 2

    循环以在多个Excel工作簿中创建多个工作表

  3. 3

    Excel VBA搜索目录并将超链接添加到新工作簿中的目录工作簿

  4. 4

    将工作表添加到Excel工作簿

  5. 5

    Excel宏,用于从一个工作表中的特定字段复制数据,仅保留该值并将其添加到另一工作表中

  6. 6

    从excel工作表中获取数据并将其复制到活动工作簿中

  7. 7

    如何使用PHPExcel将多个HTML表单数据添加到Excel工作表中

  8. 8

    如何在同一工作簿中创建到其他Excel工作表的超链接

  9. 9

    如何让 Pandas Excel writer 附加到工作簿中的现有工作表而不是创建新工作表?

  10. 10

    通过Python在Excel工作簿中的多个工作表中添加单元格值

  11. 11

    阅读同一目录中的所有Excel工作簿,每个工作簿都有多个工作表,并将每个工作表导出为R中的.csv

  12. 12

    无法踢出 Excel 工作簿中默认创建的工作表

  13. 13

    尝试使用 R 在 Excel 工作簿中创建多个工作表,但在几次后收到错误

  14. 14

    查找并将数据库中的相关数据添加到另一个Excel工作表中

  15. 15

    使用Open Xml将列添加到现有Excel 2007工作簿中

  16. 16

    如何将多个图表添加到一个Excel的不同工作表中?

  17. 17

    如何将 Excel 工作簿中的字符串添加到空数据框中?

  18. 18

    Excel VBA。从多个工作簿中查找带有关键字的数据并将其复制到主工作簿中

  19. 19

    从多个Excel工作表中复制数据,然后使用VBScript将其追加到单个Excel工作表中

  20. 20

    如何在Excel中搜索和合并多个工作表?

  21. 21

    使用VBA或任何其他方式将列名称添加到EXCEL中的多个工作表中

  22. 22

    如何使用EPPlus将新工作表添加到现有的Excel文件中?

  23. 23

    如何使用PowerShell将VBA代码添加到Excel工作表中?

  24. 24

    如何使用Excel.Microsoft.Office.Interop从Excel获取图表并将其添加到Word?

  25. 25

    如何在大型Excel工作簿中对工作表重新编号?

  26. 26

    如何在for循环中写入同一工作簿中的单独excel工作表?

  27. 27

    将工作表添加到现有的Excel工作表中而不删除其他工作表

  28. 28

    如何创建和命名引用工作簿中单元格的Excel工作表

  29. 29

    Alasql-如何在一个工作簿中创建多个工作表?

热门标签

归档