C# 按指定范围拆分Excel工作表

  前面的文章讲述了如何来合并Excel工作表,那本文将接着上篇文章,介绍如何按工作表的指定范围来拆分。

  原Excel文档如下:

C# 按指定范围拆分Excel工作表

  C#

  using Spire.Xls;

  namespace splitworksheet

  {

  class Program

  {

  static void Main(string[] args)

  {

  //创建一个Workbook类对象,并加载Excel工作表,并获取第一张工作表

  Workbook bookOriginal = new Workbook();

  bookOriginal.LoadFromFile("信息表.xlsx");

  Worksheet sheet = bookOriginal.Worksheets[0];

  //实例化一个新的Workbook对象,创建一个空的工作表,并获取工作表一

  Workbook newBook1 = new Workbook();

  newBook1.CreateEmptySheets(1);

  //获取源excel工作表中第二行至第八行(销售部)的数据,将它们复制到newBook1的第一个工作表

  Worksheet newSheet1 = newBook1.Worksheets[0];

  CellRange range1 = sheet.Range[2, 1, 8, sheet.LastColumn];

  newSheet1.Copy(range1, newSheet1.Range[1, 1]);

  //重复以上操作步骤

  Workbook newBook2 = new Workbook();

  newBook2.CreateEmptySheets(1);

  Worksheet newSheet2 = newBook2.Worksheets[0];

  CellRange range2 = sheet.Range[9, 1, 15, sheet.LastColumn];

  newSheet2.Copy(range2, newSheet2.Range[1, 1]);

  //删除源excel文件中第二行到第十五行的数据,剩下行(研发部)的数据将被保存为另一个新的excel文件。注意这里的14代表的不是行号而是行数。

  sheet.DeleteRow(2, 14);

  //保存这三个excel文件并以部门的名字命名

  newBook1.SaveToFile("销售部.xlsx", ExcelVersion.Version2007);

  newBook2.SaveToFile("人力资源部.xlsx", ExcelVersion.Version2007);

  bookOriginal.SaveToFile("研发部.xlsx", ExcelVersion.Version2007);

  }

  }

  }

  复制代码

  运行程序后,生成以下文件:

C# 按指定范围拆分Excel工作表

  PS: 以上操作中,借助了组件Free Spire.XLS下载该组建后,在项目程序中添加引用Spire.XLS.dll到程序集中,同时在命名空间添加相应的using 指令。(编辑:雷林鹏 来源:网络)

posted @ 2018-07-19 10:21  雷林鹏  阅读(646)  评论(0编辑  收藏  举报