
excel
C# - 如何将单个 excel 工作表从一个工作簿复制到另一个工作簿?
在使用C#编写应用程序时,有时我们需要将一个excel工作簿中的单个工作表复制到另一个工作簿中。这在数据处理和报表生成等场景中非常常见。本文将向您展示如何使用C#代码来实现这一功能。首先,我们需要确保已经安装了NuGet包"Microsoft.Office.Interop.excel"。这个包提供了与excel应用程序进行交互的功能。接下来,我们需要创建两个excel应用程序对象,分别代表源工作簿和目标工作簿。我们可以使用以下代码创建这两个对象:csharpusing excel = Microsoft.Office.Interop.excel;// 创建源工作簿对象excel.Application sourceApp = new excel.Application();excel.Workbook sourceWorkbook = sourceApp.Workbooks.Open("源工作簿路径");// 创建目标工作簿对象excel.Application targetApp = new excel.Application();excel.Workbook targetWorkbook = targetApp.Workbooks.Open("目标工作簿路径");在上面的代码中,我们使用excel.Application创建了两个excel应用程序对象,并使用Workbooks.Open方法打开了源工作簿和目标工作簿。接下来,我们需要选择要复制的源工作表。我们可以使用以下代码选择工作表:csharp// 选择要复制的源工作表excel.Worksheet sourceWorksheet = (excel.Worksheet)sourceWorkbook.Sheets["源工作表名称"];在上面的代码中,我们使用
Sheets属性获取所有工作表的集合,并使用工作表名称来选择要复制的源工作表。现在,我们已经选择了源工作表,接下来我们需要在目标工作簿中创建一个新的工作表,并将源工作表的内容复制到目标工作表中。我们可以使用以下代码来实现:csharp// 在目标工作簿中创建新的工作表excel.Worksheet targetWorksheet = (excel.Worksheet)targetWorkbook.Sheets.Add();// 复制源工作表的内容到目标工作表sourceWorksheet.Copy(targetWorksheet);在上面的代码中,我们使用
Sheets.Add方法在目标工作簿中创建了一个新的工作表,并使用Copy方法将源工作表的内容复制到目标工作表中。最后,我们需要保存并关闭工作簿,并释放相关的资源。我们可以使用以下代码完成这些操作:csharp// 保存目标工作簿targetWorkbook.Save();// 关闭工作簿sourceWorkbook.Close();targetWorkbook.Close();// 释放资源System.Runtime.InteropServices.Marshal.ReleaseComObject(sourceWorksheet);System.Runtime.InteropServices.Marshal.ReleaseComObject(targetWorksheet);System.Runtime.InteropServices.Marshal.ReleaseComObject(sourceWorkbook);System.Runtime.InteropServices.Marshal.ReleaseComObject(targetWorkbook);// 关闭excel应用程序sourceApp.Quit();targetApp.Quit();在上面的代码中,我们使用
Save方法保存目标工作簿,并使用Close方法关闭源工作簿和目标工作簿。然后,我们使用ReleaseComObject方法释放相关的资源,并使用Quit方法关闭excel应用程序。在本文中,我们学习了如何使用C#代码将单个excel工作表从一个工作簿复制到另一个工作簿。我们使用了Microsoft.Office.Interop.excel包提供的功能来与excel应用程序进行交互,并使用了一系列方法来选择工作表、复制内容以及保存和关闭工作簿。这个功能在数据处理和报表生成等场景中非常有用。希望本文对您有所帮助!Copyright © 2025 IZhiDa.com All Rights Reserved.
知答 版权所有 粤ICP备2023042255号