C#如何将某个excel表进行复制
时间: 2024-10-21 22:09:14 浏览: 71
在C#中,你可以使用`Microsoft.Office.Interop.Excel`命名空间来操作Excel文件,包括复制工作表。以下是一个简单的例子,展示了如何复制一个工作表到另一个Excel文件中:
```csharp
using Microsoft.Office.Interop.Excel;
// 加载Excel应用程序
Application excelApp = new Application();
try
{
// 打开源Excel文件
Workbook sourceWorkbook = excelApp.Workbooks.Open(@"C:\source.xlsx");
Worksheet sourceSheet = sourceWorkbook.Sheets[1]; // 假设你要复制的是第一个工作表
// 打开目标Excel文件(如果不存在则创建)
Workbook targetWorkbook = null;
if (!File.Exists(@"C:\target.xlsx"))
{
targetWorkbook = excelApp.Workbooks.Add();
}
else
{
targetWorkbook = excelApp.Workbooks.Open(@"C:\target.xlsx");
}
// 获取或创建目标工作表,并复制数据
Worksheet targetSheet = targetWorkbook.Sheets.Add(After:=targetWorkbook.Sheets[targetWorkbook.Sheets.Count]); // 添加一个新工作表
sourceSheet.Range["A1"].Copy(targetSheet.Range["A1"]); // 复制从 A1 开始的数据
// 保存并关闭文件
sourceWorkbook.Close(false); // 源文件不会保存更改
targetWorkbook.Save(); // 目标文件会被保存
targetWorkbook.Close(true); // 保存并关闭目标文件
}
catch (Exception ex)
{
Console.WriteLine($"Error copying Excel sheet: {ex.Message}");
}
finally
{
// 关闭所有打开的应用程序实例
Application.Quit();
}
阅读全文