C# 原样复制excel工作表

来源:互联网 发布:c语言和指针下载 编辑:程序博客网 时间:2024/06/05 07:03

在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");        }    }}
0 0
原创粉丝点击