c# - 如何将 Excel 工作表导出到新工作簿

标签 c# .net vb.net excel

我有一堆包含多个工作表的 Excel 工作簿。我想循环遍历每个工作簿并将每个工作表导出到它自己的新工作簿中。我想要每个新工作簿中都有一个工作表。

这是我到目前为止所得到的:

   Sub ExportWorksheet(ByVal worksheet As Excel.Worksheet, ByVal filePath As String)
      Dim xlApp As Excel.Application = New Excel.ApplicationClass
      Dim xlWorkBook As Excel.Workbook = xlApp.Workbooks.Add
      worksheet.Select()
      worksheet.Copy()
      xlWorkBook.Worksheets.Add()
      worksheet.Paste(Destination:=xlWorkBook)

      xlWorkBook.SaveAs(Filename:=filePath)

      xlWorkBook.Close(False)
      xlApp.Quit()
   End Sub

最佳答案

在 Excel 中,这可以通过将工作表复制到新工作簿来完成,而不是通过创建新工作簿然后向其中添加工作表来完成。这是通过使用 Worksheet.Copy 来实现的,无需指定要在工作簿中放置复制的工作表的位置。

更多阅读:http://msdn.microsoft.com/en-us/library/microsoft.office.tools.excel.worksheet.copy(VS.80).aspx

关于c# - 如何将 Excel 工作表导出到新工作簿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/840310/

相关文章:

c# - 没有可用的来源

c#:从域中获取 CNAME 和 MX 记录?

c# - 尝试序列化参数时出错

数据库标识列不起作用

c# - 实现接口(interface)但具有不同的属性名称

c# - 使两个列表中的单词匹配

c# - 在.NET中读取佳能CR2原始图像文件

c# - 线程启动滞后于 UI WPF

database - Visual Basic 测验 1 题无论如何总是错的

c# - IL 代码与 IL 程序集 : is there a difference?