C#按指定范围拆分Excel工作表
前面的文章讲述了如何来合并Excel工作表,那本文将接着上篇文章,介绍如何按工作表的指定范围来拆分。
原Excel文档如下:
C#
十多年的广州网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网整合营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整广州建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“广州网站设计”,“广州网站推广”以来,每个客户项目都认真落实执行。
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);
}
}
}
运行程序后,生成以下文件:
PS:以上操作中,借助了组件Free Spire.XLS下载该组建后,在项目程序中添加引用Spire.XLS.dll到程序集中,同时在命名空间添加相应的using 指令。
如果喜欢,欢迎转载(转载请注明出处)
本文名称:C#按指定范围拆分Excel工作表
标题来源:http://scpingwu.com/article/igcdgh.html