码迷,mamicode.com
首页 > Windows程序 > 详细

C# 原样复制excel工作表

时间:2016-01-05 18:35:41      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:

在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");
        }
    }
} 

 

C# 原样复制excel工作表

标签:

原文地址:http://www.cnblogs.com/Yesi/p/5102576.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!