C# 如何合并Excel工作表
文档合并、拆分是实现文档管理的一种有效方式。在工作中,我们可能会遇到需要将多个文档合并的情况,那如何来实现呢,本文将进一步介绍。关于拆分Excel工作表,可参见这篇文章——C#如何拆分EXCEL工作表。
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文档的全部内容,如果有需要合并/拆分PDF、Word等文档,可参见链接处所给文章。
如果喜欢欢迎转载(转载请注明出处)
C# 如何合并Excel工作表的更多相关文章
- C# 合并Excel工作表
文档合并.拆分是实现文档管理的一种有效方式.在工作中,我们可能会遇到需要将多个文档合并的情况,那如何来实现呢,本文将进一步介绍.关于拆分Excel工作表,可参见这篇文章——C#如何拆分EXCEL工作表 ...
- C#中如何在Excel工作表创建混合型图表
在进行图表分析的时候,我们可能需要在一张图表呈现两个或多个样式的图表,以便更加清晰.直观地查看不同的数据大小和变化趋势.在这篇文章中,我将分享C#中如何在一张图表中创建不同的图表类型,其中包括如何在同 ...
- C#将一个excel工作表根据指定范围拆分为多个excel文件
C#将一个excel工作表根据指定范围拆分为多个excel文件 微软Excel没有提供直接的方法来拆分excel文件,因此要拆分一个excel文件最简单的方法可能就是手动剪切和粘贴了,除此之外,还有其 ...
- C# 原样复制excel工作表
在excel中,工作表是工作薄的组成部分,一个工作薄可以由一个或多个工作表组成,一个工作薄也可以说是一个excel文档,正因为如此,excel工作表的复制也就分为两种类型:在同一文档之内复制和在不同文 ...
- 使用宏命令撤销EXCEL工作表保护
EXCEL工作表编辑资料,设置了工作表保护后,不能对表格进行插入删除操作.如果没有密码,很简单:工具-选项—工作表保护——撤消工作表保护 就可以了.如果忘记密码,如下操作: 1. 打开文件 2. 工具 ...
- 电脑右键新建excel工作表,但是扩展名是.xls,而不是.xlsx
怀疑是因为之前安装了wps,然后又卸载了,导致的.上网查阅,如下: excel默认新建xls 不是我的问题 Excel 2010/2013/2016在鼠标右键新建xls或xlsx文件后,打开报错“无法 ...
- 移除Excel工作表密码保护小工具含C#源代码
有朋友发了个Excel.xlsx文件给我,让我帮忙看看里面是怎么做出来的.打开审阅后发现,每个Excel工作表都添加了密码保护: 看不到里面的隐藏列和公式等等,感觉很神秘.于是研究了一下Excel文件 ...
- 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/ ...
- excel工作表密码破解方法
在日常工作中,大家有时会遇到过这样的情况:使用Excel编制的报表.表格.程序等,在单元格中设置了公式.函数等,为了防止其他人修改您的设置或者防止您自己无意中修改,您可能会使用Excel的工作表保护功 ...
随机推荐
- 1.Cocos2d-x-3.2编写3d打飞机,粒子管理器代码
Cocos2d-x中的一个单例效果: #ifndef __Moon3d__ParticleManager__ #define __Moon3d__ParticleManager__ #inclu ...
- 文档发布工具mkdocs
mkdocs是Python的一个对 Markdown 友好的文档生成器.,小巧精美. MkDocs is a fast, simple and downright gorgeous static si ...
- 【移动开发】SparseArray替代HashMap
SparseArray是android里为<Interger,Object>这样的Hashmap而专门写的class,目的是提高效率,其核心是折半查找函数(binarySearch). p ...
- JS和Jquery操作label标签
获取label值: label标签在JS和Jquery中使用不能像其他标签一样用value获取它的值: 代码如下: var label=document.getElementById("s ...
- 4.QT中进程操作,线程操作
QT中的线程操作 T19Process.pro SOURCES += \ main.cpp CONFIG += C++11 main.cpp #include <QCoreApplicat ...
- Java并发框架——AQS阻塞队列管理(二)——自旋锁优化
看Craig, Landin, and Hagersten发明的CLH锁如何优化同步带来的花销,其核心思想是:通过一定手段将所有线程对某一共享变量轮询竞争转化为一个线程队列且队列中的线程各自轮询自己的 ...
- 最简单的基于libVLC的例子:最简单的基于libVLC的推流器
===================================================== 最简单的基于libVLC的例子文章列表: 最简单的基于libVLC的例子:最简单的基于lib ...
- C++对C的实用性增强
#include <iostream> using namespace std; //C语言中的变量都必须在作用域开始的位置定义!! //C++中更强调语言的"实用性" ...
- android分包方案
当一个app的功能越来越复杂,代码量越来越多,也许有一天便会突然遇到下列现象: 1. 生成的apk在2.3以前的机器无法安装,提示INSTALL_FAILED_DEXOPT 2. 方法数量过多,编译时 ...
- Tom DeMarco:软件工程这个概念已过时?
原文作者:Tom Demarco,写于2009年7月 作者简介:Tom DeMarco是大西洋系统协会(www.atlsysguild.com)的负责人.他的职业生涯开始于贝尔实验室,是结构化分析和设 ...