标签:
在excel中,工作表是工作薄的组成部分,一个工作薄可以由一个或多个工作表组成,一个工作薄也可以说是一个excel文档,正因为如此,excel工作表的复制也就分为两种类型:在同一文档之内复制和在不同文档之间复制。本文主要介绍如何用C#在同一文档内或不同文档间原样复制excel工作表(包括数据、图片和格式等),希望能对有同样问题的朋友有些许帮助(如果有不清楚的地方,可以参考教程)。
第一步:新建一个控制台项目并添加引用和命名空间。
using Spire.Xls;
第二步:新建一个workbook对象并加载excel文档。
Workbook workbook = new Workbook(); workbook.LoadFromFile("货品情况统计表.xlsx");
第三步:获取第一个worksheet并添加一个新的worksheet。
Worksheet worksheet = workbook.Worksheets[0]; //添加一个新的工作表并命名 workbook.Worksheets.Add("copied sheet1");
如果需要在同一文档内复制请看第四步,如果要复制到另一个excel文档请看第五步。
第四步:把第一个worksheet的数据、图片和格式等原样复制到新建的worksheet中。
workbook.Worksheets[1].CopyFrom(workbook.Worksheets[0]);
第五步:获取第一个worksheet,通过调用worksheet.Clone() 方法来复制数据、图片和格式等。
Worksheet newsheet = (Worksheet)worksheet.Clone(worksheet.Parent); workbook.Worksheets.Add(newsheet);
第六步:保存并重新打开文档。
workbook.SaveToFile("copy.xlsx"); System.Diagnostics.Process.Start("copy.xlsx");
复制到同一个excel文档内的效果图:
复制到另一个excel文档的效果图:
全部代码:
using Spire.Xls; namespace Copy_Worksheet { class Program { static void Main(string[] args) { Workbook workbook = new Workbook(); workbook.LoadFromFile("货品情况统计表.xlsx"); Worksheet worksheet = workbook.Worksheets[0]; //复制到同一个excel文档 workbook.Worksheets.Add("copied sheet1"); workbook.Worksheets[1].CopyFrom(workbook.Worksheets[0]); //复制到另一个excel文档 /*Worksheet newsheet = (Worksheet)worksheet.Clone(worksheet.Parent); workbook.Worksheets.Add(newsheet);*/ workbook.SaveToFile("copy.xlsx"); System.Diagnostics.Process.Start("copy.xlsx"); } } }
标签:
原文地址:http://www.cnblogs.com/Yesi/p/5102576.html