在Excel中,工作表是工作薄的组成部分,一个工作薄可以由一个或多个工作表组成,一个工作薄也可以说是一个Excel文档,正因为如此,Excel工作表的复制也就分为两种类型:在同一文档之内复制和在不同文档之间复制。本文主要介绍如何用C#和Excel组件Spire.XLS在同一文档内或不同文档间原样复制excel工作表(包括数据、图片和格式等),希望能对有同样需求的朋友有些许帮助。
在同一个 Excel 文件内复制工作表
使用Worksheet.CopyFrom()方法将一个工作表复制到同一个Excel文件内的另一个工作表:
//加载Excel文件
Workbook workbook = new Workbook();
workbook.LoadFromFile("DoughnutChart.xlsx");
//获取第一个工作表
Worksheet sheet1 = workbook.Worksheets[];
//添加一个新的工作表
Worksheet sheet2 = workbook.Worksheets.Add("Copy");
//将第一个工作表复制到新添加的工作表
sheet2.CopyFrom(sheet1);
//保存文件
workbook.SaveToFile("DoughnutChart.xlsx");
在不同 Excel 文件之间复制工作表
使用WorksheetsCollection.AddCopy()方法将工作表从一个Excel文件复制到另一个现有Excel文件:
//加载第一个Excel文件
Workbook workbook1 = new Workbook();
workbook1.LoadFromFile("Vendor.xlsx");
//获取第一个工作表
Worksheet sheet1 = workbook1.Worksheets[];
//加载第二个Excel文件
Workbook workbook2 = new Workbook();
workbook2.LoadFromFile("Report.xlsx");
//将第一个Excel文件的第一个工作表复制到第二个Excel文件
Worksheet sheet2 = workbook2.Worksheets.AddCopy(sheet1);
sheet2.Name = "Copy";
//保存文件
workbook2.SaveToFile("Report.xlsx");