C# EXCEL 根据列内容将原始表格拆分成多个表格
在日常工作中,我们经常会需要将一个表格的数据拆分为多个表格以满足工作需要。如果只需要拆分成一两个那还好,手动筛选后新建复制就好了,但是一旦需要拆分的表格多达3个以上的时候,这样简单重复拆分表格的工作就会显得特别费力费时,这时候我们就需要一键操作!
本文正是基于此需求,写了一个可以一键将原始表格根据列内容拆分成多个表格的小工具!输入基于该列拆分的列号,选择需要拆分的文件,即可拆分将原始表格拆分为多个表格!拆分后的表格名称正是以列的内容来命名的!标题有合并单元格也可以实现!下面是实现代码:
int c = Convert.ToInt32(textBox2.Text);Microsoft.Office.Interop.Excel.Application excel = new ApplicationClass();excel.ScreenUpdating = false; //停止工作表刷新excel.DisplayAlerts = false;Workbook workbook2 = excel.Workbooks.Open(filename[0]);Worksheet sheet2 = (Worksheet)workbook2.ActiveSheet;Dictionary<String, Range> dic = new Dictionary<String, Range>();Range rng = sheet2.UsedRange;int lColumn = rng.Columns.Count;//获得最大列数int lRow = rng.Rows.Count;//获得最大行数int b = Convert.ToInt32(TileLine);b = b + 1;for (int i = b; i < lRow+1; i++){string h = sheet2.Range[sheet2.Cells[i, c], sheet2.Cells[i,c]].Text.ToString();if (dic.ContainsKey(h)){dic[h] = excel.Union(dic[h], sheet2.Range[sheet2.Cells[i, 1], sheet2.Cells[i, lColumn]]);}else{dic.Add(h, sheet2.Range[sheet2.Cells[i, 1], sheet2.Cells[i, lColumn]]);}}for (int i = 0; i < dic.Count; i++){Workbook workbooknew = excel.Workbooks.Add(Type.Missing);Worksheet sheetnew = (Worksheet)workbooknew.Sheets.Add(Type.Missing, Type.Missing, Type.Missing, Type.Missing);Range range;range = (Range)sheetnew.Cells[sheetnew.Range["A65536", "A65536"].End[XlDirection.xlUp].Row, 1];sheet2.Range[sheet2.Cells[1, 1], sheet2.Cells[b, lColumn]].Copy(range);range = (Range)sheetnew.Cells[sheetnew.Range["A65536", "A65536"].End[XlDirection.xlUp].Row, 1];Dictionary<String, Range>.KeyCollection key = dic.Keys;dic[key.ElementAt(i)].Copy(range);workbooknew.SaveAs(workbook2.Path + "\\" + key.ElementAt(i) + ".xls");workbooknew.Close();}workbook2.Close();excel.Quit();PublicMethod.Kill(excel);//关闭excel进程MessageBox.Show("success");
实现:
1.初始表格
2.执行。输入表格的行数及拆分的列号
3.拆分后
C# EXCEL 根据列内容将原始表格拆分成多个表格相关推荐
- Excel表格拆分成多个表格,蜂鸟转换帮您快捷拆分
Excel表格是用来整理数据使用的,很多办公族会在表格下存储很多数据,当表格中的数据比较多时,想要将表格数据分开整理时,大家可以新建表格,将就表格中的部分数据复制到新建表格中,同时也可以将一个表格拆分 ...
- 怎么把一个表格拆分成两个表格
今天跟大家分享一下怎么把一个表格拆分成两个表格 1.打开演示文件,要求将表格按照部门的不同拆分为两个. 2.首先我们点击下图选项 3.点击[汇总拆分]-[拆分工作表] 4.将[表头行数]设置为2 5. ...
- word表格拆分成两个表格
1.如下图Word表格为产品销售表,现在我们想要将这个Word表格拆分为两个表格. 2.将Word表格复制一份到Excel中. 3.点击下图选项(Excel工具箱,百度即可了解详细的下载安装信息,本文 ...
- cmd看excel有多少个子表_excel表格拆分成多个表格方法工具
在日常的工作中,我们可能会遇到将一个工作簿中包含的多个工作表单独拆分成一个个独立的excel,以便将各个独立的工作表分发给需要的人看.这里介绍怎么样将excel工作簿(含多个工作表)拆分成多个独立的工 ...
- 【python】将一个excel表格按照类目拆分成多个表格
目的:将一个表格拆分成多个表格,并以分类作为excel的表名保存. 1.首先将本地表格读取进Python中,并将数据进行处理 2.对全部数据进行循环遍历,保存到规定的路径下 全部代码: 1.1导进需要 ...
- 如何将 Excel 单元格内容按换行符拆分为多列
今天跟大家分享一下如何将 Excel 单元格内容按换行符拆分为多列 1.如下图我们想要将表格数据按照换行符进行拆分 2.选中要拆分的单元格区域 3.点击下图选项(Excel工具箱,百度即可了解详细下载 ...
- html拆分单元格成两列,在excel中怎样把一个单元格拆分成两个单元格
excel表格中如何拆分带括号的单元格比如说我有一个表格单元格内容是 :张三李四(000001) 如何将括号内的选中需要拆分的单元格,Ctrl +F把单元格里面的括号或者书名号换成逗号,然后在数据选项 ...
- 产品狗的Python之路(1):按照行数将excel表格拆分成多个
产品狗的Python之路 (1):使用python将excel表格拆分成多个 背景: 因公司内部数据导入系统限制每一次导入的数据行数,故经常需要将一个几万行的表格拆分成多个,费事费力,所以写了一个小程 ...
- excel表格怎么拆分成多个表格?
今天跟大家分享一下excel表格怎么拆分成多个表格? 1.打开演示文件如下图,我们想要将工作表拆分开成为多个独立的工作簿. 2.首先我们点击下图选项 3.点击[汇总拆分]-[拆分工作表] 4.然后我们 ...
最新文章
- 外包物料成本核算时的供应商确定
- 2019 年百度之星·程序设计大赛 - 初赛一Game HDU 6669 (实现,贪心)
- 快速查询DB Lock的方法
- Vue解析--如何应对面试官提问
- [react] react中的setState和replaceState的区别是什么?
- 队列/优先队列的应用问题
- Windows 64 位 mysql 5.7.20 安装教程
- 浅谈Java、Python、C++、PHP、JavaScript5大编程语言该如何选择
- Android中字体文件位置
- Word中插入图片只显示一部分
- Win7 64位操作系统连接HP 1010打印机完美解决方案
- matlab 空间后方交会,摄影测量空间后方交会.docx
- Intel第十代CPU集成显卡不再支持 Legacy启动 (i5-10400...)
- 亚利桑那州立大学在线计算机硕士录取,亚利桑那州立大学计算机科学(信息保障)理科硕士入学条件及实习就业...
- 010Editor Cracked分析详文
- centos7 下双网卡如何配置静态IP
- GitHub + jsDelivr + PicGo + Imagine 打造稳定快速、高效免费图床
- spring5源码阅读(五)Post Processors类型及作用详解
- 安装Microsoft .NET Framework 4.5失败解决办法
- 高效管理工作计划,飞项这款免费软件简单实用又强大