-
C#/VB.NET Excel数据分列
有时候我们需要将保存在Excel单元格中的组合型数据拆分为多列(如将全名拆分为姓和名两列)以方便我们处理、记忆或保存。为了避免重复和大量的手动输入工作,Excel给我们提供了一个数据分列的功能。下面这幅图展示了如何在Excel中实现数据分列:
这篇文章将介绍如何使用C#和VB.NET编程的方式来实现Excel数据分列的功能。
步骤和代码:
第一步:创建一个新的Workbook类的对象,并加载Excel文档。
Workbook book = new Workbook(); book.LoadFromFile("测试.xlsx");
第二步:获取Excel文档中存放需要被拆分的数据的工作表,这里是第一个工作表。
Worksheet sheet = book.Worksheets[0];
第三步:按分隔符号将数据拆分为多列。
初始化一个字符串数组和一个字符串,遍历工作表中的指定行,按分隔符号(·)将数据为全名的那一列拆分为姓和名两列并将结果保存到字符串数组中,然后将数组的内容赋值给工作表的另两列。
string[] splitText = null; string text = null; for (int i = 1; i < sheet.LastRow; i++) { text = sheet.Range[i + 1, 1].Text; splitText = text.Split('·'); for (int j = 0; j < splitText.Length; j++) { sheet.Range[i + 1, 1 + j + 1].Text = splitText[j]; } }
第四步:保存文档。
book.SaveToFile("输出.xlsx", ExcelVersion.Version2010);
运行代码,得到如下结果:
全部代码:
C#:
using Spire.Xls; namespace Split_Column_Data_to_Several_Columns { class Program { static void Main(string[] args) { Workbook book = new Workbook(); book.LoadFromFile("测试.xlsx"); Worksheet sheet = book.Worksheets[0]; string[] splitText = null; string text = null; for (int i = 1; i < sheet.LastRow; i++) { text = sheet.Range[i + 1, 1].Text; splitText = text.Split('·'); for (int j = 0; j < splitText.Length; j++) { sheet.Range[i + 1, 1 + j + 1].Text = splitText[j]; } } book.SaveToFile("输出.xlsx", ExcelVersion.Version2010); } } }
VB.NET:
Imports Spire.Xls Namespace Split_Column_Data_to_Several_Columns Class Program Private Shared Sub Main(args As String()) Dim book As New Workbook() book.LoadFromFile("测试.xlsx") Dim sheet As Worksheet = book.Worksheets(0) Dim splitText As String() = Nothing Dim text As String = Nothing For i As Integer = 1 To sheet.LastRow - 1 text = sheet.Range(i + 1, 1).Text splitText = text.Split("·"C) For j As Integer = 0 To splitText.Length - 1 sheet.Range(i + 1, 1 + j + 1).Text = splitText(j) Next Next book.SaveToFile("输出.xlsx", ExcelVersion.Version2010) End Sub End Class End Namespace
(注意:这里我使用了一个免费的Excel组件)
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式