为了账号安全,请及时绑定邮箱和手机立即绑定

C# 复制Excel工作表

标签:
C# .NET

本文将介绍在C#中复制工作表数据的方法。对工作表的复制考虑了两种情况来进行

  • 在同一个工作簿内的不同工作表之间进行复制

  • 在不同工作簿之间的不同工作表间进行复制

(这里的复制是包含了复制数据、边框、底纹、公式等原数据表格的所有内容)

另外,对于Excel表格数据的复制,除了针对整篇工作表的复制外,也可以只复制工作表中某一行或者列的数据。下面将详细阐述代码操作过程,方法供参考。

使用工具Free Spire.XLS for .NET(免费版)

   下载并安装后,注意在项目程序中添加引用Spire.XLS.dll(dll文件可在安装路径下的Bin文件夹中获取)

测试文档:

https://img1.sycdn.imooc.com//5da95f4f0001cafa07510706.jpg

1. 同一工作簿内复制工作表

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

复制结果:

https://img1.sycdn.imooc.com//5da95fe50001d2d907660700.jpg

2. 跨工作簿复制工作表

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

跨工作簿复制结果:

https://img1.sycdn.imooc.com//5da960a70001d10e07490700.jpg

3. 复制一行(列)

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. 复制行

https://img1.sycdn.imooc.com//5da9616d0001a01607390700.jpg

 2. 复制列

https://img1.sycdn.imooc.com//5da9616d00018d9c07630710.jpg


(本文完)


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
9
获赞与收藏
48

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消