C# 复制(带格式)Excel工作表

2021-04-19 11:28

阅读:1459

标签:C#   .NET Excel API   类库   复制   .NET   

本文将介绍在C#中复制工作表数据的方法。对工作表的复制考虑了两种情况来进行
  1. 在同一个工作簿内的不同工作表之间进行复制
  2. 在不同工作簿之间的不同工作表间进行复制
    这里的复制是包含了复制数据、边框、底纹、公式等原数据表格的所有内容
    另外,对于Excel表格数据的复制,除了针对整篇工作表的复制外,也可以只复制工作表中某一行或者列的数据。下面将详细阐述代码操作过程,方法供参考。
    使用工具:Free Spire.XLS for .NET(社区版)
    使用说明:安装后,在项目程序中直接引用Spire.XLS.dll即可(dll文件可在安装路径下的Bin文件夹中获取)
    测试文档:
    技术分享图片

一、在同一个工作簿内复制

using Spire.Xls;

namespace Copy2
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建一个Workbook类对象,并加载Excel文件
            Workbook workbook = new Workbook();
            workbook.LoadFromFile("Sample.xlsx");
            //获取第一个工作表sheet1
            Worksheet sheet1 = workbook.Worksheets[0];

            //添加一个新的工作表sheet2,并命名该工作表
            Worksheet sheet2 = workbook.Worksheets.Add("Copy");
            //将第一个工作表复制到新添加的工作表
            sheet2.CopyFrom(sheet1);

            //保存并打开文件
            workbook.SaveToFile("工作表复制.xlsx",FileFormat.Version2010);
            System.Diagnostics.Process.Start("工作表复制.xlsx");
        }
    }
}

测试结果:

技术分享图片

二、跨工作簿复制

using Spire.Xls;

namespace CopyWorksheet_XLS
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建工作簿1,并加载第一个Excel文件
            Workbook workbook1 = new Workbook();
            workbook1.LoadFromFile("Sample.xlsx");
            //获取第一个工作表
            Worksheet sheet1 = workbook1.Worksheets[0];

            //创建工作簿2,并加载第二个Excel文件
            Workbook workbook2 = new Workbook();
            workbook2.LoadFromFile(@"C:\Users\Administrator\Desktop\sample2.xlsx");

            //调用方法AddCopy()将第一个Excel文件的sheet1复制到第二个Excel文件,并命名复制后的文件
            Worksheet sheet2 = workbook2.Worksheets.AddCopy(sheet1);
            sheet2.Name = "Copy";
            //保存并打开文件
            workbook2.SaveToFile("Report.xlsx");
            System.Diagnostics.Process.Start("Report.xlsx");
        }
    }
}

测试结果:
技术分享图片

三、复制行或列

using Spire.Xls;

namespace InsertRow_s__XLS
{
    class Program
    {
        static void Main(string[] args)
        {
            //初始化Workbook类实例,并加载Excel 测试文档
            Workbook workbook = new Workbook();
            workbook.LoadFromFile(@"C:\Users\Administrator\Desktop\Sample.xlsx");

            //获取第一个工作表
            Worksheet worksheet = workbook.Worksheets[0];

            //新插入一行作为第3行
            worksheet.InsertRow(3);
            //新插入一列作为第8列
           // worksheet.InsertColumn(8);

            //将第一行数据复制到第三行
            worksheet.Copy(worksheet.Range["A1:H1"], worksheet.Range["A3:H3"], true);
            //将第二列数据复制到第八列
           // worksheet.Copy(worksheet.Range["B1:B27"],worksheet.Range["H1:H27"],true);          

            //保存并打开文档
            workbook.SaveToFile("复制行.xlsx", ExcelVersion.Version2010);
            System.Diagnostics.Process.Start("复制行.xlsx");
        }
    }
}

测试结果:

1. 复制行

技术分享图片

2.复制列
技术分享图片

以上内容为本次关于“C# 复制Excel工作表”的全部内容,欢迎转载(转载请注明出处)

C# 复制(带格式)Excel工作表

标签:C#   .NET Excel API   类库   复制   .NET   

原文地址:http://blog.51cto.com/eiceblue/2092553


评论


亲,登录后才可以留言!