在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[0]; //添加一个新的工作表 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[0]; //加载第二个Excel文件 Workbook workbook2 = new Workbook(); workbook2.LoadFromFile("Report.xlsx"); //将第一个Excel文件的第一个工作表复制到第二个Excel文件 Worksheet sheet2 = workbook2.Worksheets.AddCopy(sheet1); sheet2.Name = "Copy"; //保存文件 workbook2.SaveToFile("Report.xlsx");