文档合并、拆分是实现文档管理的一种有效方式。在工作中,我们可能会遇到需要将多个文档合并的情况,那如何来实现呢,本文将进一步介绍。关于拆分Excel工作表,可参见这篇文章——C#如何拆分EXCEL工作表

使用工具Free Spire.XLS for .NET

Visual Studio 2013

PS: 编辑代码前需要引用Spire.XLS.dll到项目程序中,并添加相应的命名空间

合并Excel表格分两种:

  • 合并多个工作表到一个工作簿
  • 合并多个工作表为一个工作表

一、合并多个工作表到一个工作簿

using Spire.Xls;

namespace MergeWorksheet_XLS
{
class Program
{
static void Main(string[] args)
{
//创建一个Workbook类对象
Workbook newbook = new Workbook();
newbook.Version = ExcelVersion.Version2013;
//删除文档中的工作表(新创建的文档默认包含3张工作表)
newbook.Worksheets.Clear(); //创建一个临时的workbook,用于加载需要合并的Excel文档
Workbook tempbook = new Workbook(); //加载需要合并的Excel文档保存到数组
string[] excelFiles = new string[] { @"C:\Users\Administrator\Desktop\test.xlsx", @"C:\Users\Administrator\Desktop\sample.xlsx" }; //遍历数组
for (int i = ; i < excelFiles.Length; i++)
{
//载入Excel文档
tempbook.LoadFromFile(excelFiles[i]);
//调用AddCopy方法,将文档中所有工作表添加到新的workbook
foreach (Worksheet sheet in tempbook.Worksheets)
{
newbook.Worksheets.AddCopy(sheet);
}
}
//保存文档
newbook.SaveToFile("MergeFiles.xlsx", ExcelVersion.Version2013);
}
}
}

合并前:

合并后:

二、合并多个工作表为一个工作表

using Spire.Xls;

namespace MergeWorksheetsToOne_XLS
{
class Program
{
static void Main(string[] args)
{
//实例化一个Workbook类,加载Excel文档
Workbook workbook = new Workbook();
workbook.LoadFromFile(@"C:\Users\Administrator\Desktop\test.xlsx"); //获取第1、2张工作表
Worksheet sheet1 = workbook.Worksheets[];
Worksheet sheet2 = workbook.Worksheets[]; //复制第2张工作表内容到第1张工作表的指定区域中
sheet2.AllocatedRange.Copy(sheet1.Range[sheet1.LastRow +, ]); //删除第2张工作表
sheet2.Remove();
//重命名的工作表1
sheet1.Name = "外贸单证"; //保存并运行文档
workbook.SaveToFile("MergeSheets.xlsx", ExcelVersion.Version2013);
System.Diagnostics.Process.Start("MergeSheets.xlsx");
}
}
}

合并前:

合并后:

以上合并方法为本次关于合并Excel文档的全部内容,如果有需要合并/拆分PDFWord等文档,可参见链接处所给文章。

如果喜欢欢迎转载(转载请注明出处)

C# 合并Excel工作表的更多相关文章

  1. C# 如何合并Excel工作表

    文档合并.拆分是实现文档管理的一种有效方式.在工作中,我们可能会遇到需要将多个文档合并的情况,那如何来实现呢,本文将进一步介绍.关于拆分Excel工作表,可参见这篇文章--C#如何拆分EXCEL工作表 ...

  2. C#中如何在Excel工作表创建混合型图表

    在进行图表分析的时候,我们可能需要在一张图表呈现两个或多个样式的图表,以便更加清晰.直观地查看不同的数据大小和变化趋势.在这篇文章中,我将分享C#中如何在一张图表中创建不同的图表类型,其中包括如何在同 ...

  3. C#将一个excel工作表根据指定范围拆分为多个excel文件

    C#将一个excel工作表根据指定范围拆分为多个excel文件 微软Excel没有提供直接的方法来拆分excel文件,因此要拆分一个excel文件最简单的方法可能就是手动剪切和粘贴了,除此之外,还有其 ...

  4. C# 原样复制excel工作表

    在excel中,工作表是工作薄的组成部分,一个工作薄可以由一个或多个工作表组成,一个工作薄也可以说是一个excel文档,正因为如此,excel工作表的复制也就分为两种类型:在同一文档之内复制和在不同文 ...

  5. 使用宏命令撤销EXCEL工作表保护

    EXCEL工作表编辑资料,设置了工作表保护后,不能对表格进行插入删除操作.如果没有密码,很简单:工具-选项—工作表保护——撤消工作表保护 就可以了.如果忘记密码,如下操作: 1. 打开文件 2. 工具 ...

  6. 电脑右键新建excel工作表,但是扩展名是.xls,而不是.xlsx

    怀疑是因为之前安装了wps,然后又卸载了,导致的.上网查阅,如下: excel默认新建xls 不是我的问题 Excel 2010/2013/2016在鼠标右键新建xls或xlsx文件后,打开报错“无法 ...

  7. 移除Excel工作表密码保护小工具含C#源代码

    有朋友发了个Excel.xlsx文件给我,让我帮忙看看里面是怎么做出来的.打开审阅后发现,每个Excel工作表都添加了密码保护: 看不到里面的隐藏列和公式等等,感觉很神秘.于是研究了一下Excel文件 ...

  8. C#7.2——编写安全高效的C#代码 c# 中模拟一个模式匹配及匹配值抽取 走进 LINQ 的世界 移除Excel工作表密码保护小工具含C#源代码 腾讯QQ会员中心g_tk32算法【C#版】

    C#7.2——编写安全高效的C#代码 2018-11-07 18:59 by 沉睡的木木夕, 123 阅读, 0 评论, 收藏, 编辑 原文地址:https://docs.microsoft.com/ ...

  9. excel工作表密码破解方法

    在日常工作中,大家有时会遇到过这样的情况:使用Excel编制的报表.表格.程序等,在单元格中设置了公式.函数等,为了防止其他人修改您的设置或者防止您自己无意中修改,您可能会使用Excel的工作表保护功 ...

随机推荐

  1. Ajax刷新DIV内容

    Ajax刷新DIV内容 实现了网页的异步数据处理,不用刷新整个页面 <标签 onmouseover="method"/ >method:这个参数是处理onmouseov ...

  2. 元组Tuple的使用

    在方法中有多个值返回,返回值封装成对象又不方便,可以用 out 返回或ref返回, 这里介绍元组,也可以作为多个返回值的使用,最多携带8个返回值 Task.Factory.StartNew<Tu ...

  3. freemarker导出带图片的word文档

    最近做一个关于文档导出功能, 顺便学习了下freemarker,做了个关于导出带图片的word文档,模板并没有写全,只是验证代码的正确性 这只是做一个小功能,故只做了后台代码关于导出的代码,并未与前台 ...

  4. SQL Server 恢复数据库至指定时间点

    发生数据库误删的情况下,及时恢复数据到误操作前的状态 工具/原料   SQL Server Management Studio 数据库完整备份及日志备份 必备条件   1 数据库右键属性,在选项中查看 ...

  5. Mycat适合场景及不适合场景

    1.非分片字段查询 Mycat中的路由结果是通过分片字段和分片方法来确定的.例如下图中的一个Mycat分库方案: 根据 tt_waybill 表的 id 字段来进行分片 分片方法为 id 值取 3 的 ...

  6. 字符串匹配(二)----KMP算法

    什么是KMP算法: KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt同时发现,因此人们称它为克努特——莫里斯——普拉特操作(简称KMP算法).KMP ...

  7. springmvc 请求参数解析细节

    springmvc 的请求流程,相信大家已经很熟悉了,不熟悉的同学可以参考下资料! 有了整体流程的概念,是否对其中的实现细节就很清楚呢?我觉得不一定,比如:单是参数解析这块,就是个大学问呢? 首先,我 ...

  8. PHP算法之斐波那契数列(递归)

    /*斐波那契数列 源代码分析 f(x) = 1 ; 当 x < 2 ; f(x) = f(x-1)+f(x-2); 当 x >= 2 ; 通项式为:fn ={((1+根号5)/2)^n-( ...

  9. java中this和super关键字的使用

    这几天看到类在继承时会用到this和super,这里就做了一点总结,与各位共同交流,有错误请各位指正~ this this是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针. this ...

  10. 【Spark调优】提交job资源参数调优

    [场景] Spark提交作业job的时候要指定该job可以使用的CPU.内存等资源参数,生产环境中,任务资源分配不足会导致该job执行中断.失败等问题,所以对Spark的job资源参数分配调优非常重要 ...