首页 > 编程语言 >C#/VB.NET Excel数据分列

C#/VB.NET Excel数据分列

时间:2022-12-30 12:07:47浏览次数:76  
标签:xlsx VB sheet C# text Excel book splitText


C#/VB.NET Excel数据分列

有时候我们需要将保存在Excel单元格中的组合型数据拆分为多列(如将全名拆分为姓和名两列)以方便我们处理、记忆或保存。为了避免重复和大量的手动输入工作,Excel给我们提供了一个数据分列的功能。下面这幅图展示了如何在Excel中实现数据分列:

C#/VB.NET 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#/VB.NET Excel数据分列_C#_02

全部代码:

C#:

using Spire.Xls;

namespace Split_Column_Data_to_Several_Columns
{
class Program
{
static void Main(string[] args)
{
Workbook book = newWorkbook();
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 (intj = 0; j < splitText.Length; j++)
{
sheet.Range[i + 1, 1 + j + 1].Text = splitText[j];
}
}
book.SaveToFile("输出.xlsx",ExcelVersion.Version2010);
System.Diagnostics.Process.Start("输出.xlsx");
}
}
}

VB.NET:

Imports Spire.Xls

Namespace Split_Column_Data_to_Several_Columns
ClassProgram
PrivateShared Sub Main(args As String())
Dimbook As New Workbook()
book.LoadFromFile("测试.xlsx")
Dimsheet As Worksheet = book.Worksheets(0)
DimsplitText As String() = Nothing
Dimtext As String = Nothing
Fori As Integer = 1 To sheet.LastRow - 1
text= sheet.Range(i + 1, 1).Text
splitText= text.Split("·"C)
Forj As Integer = 0 To splitText.Length - 1
sheet.Range(i+ 1, 1 + j + 1).Text = splitText(j)
Next
Next
book.SaveToFile("输出.xlsx",ExcelVersion.Version2010)
EndSub
EndClass
End Namespace






标签:xlsx,VB,sheet,C#,text,Excel,book,splitText
From: https://blog.51cto.com/u_15656056/5979822

相关文章

  • Java 自定义Excel数据排序
    通常,我们可以在Excel中对指定列数据执行升序或者降序排序,排序时可依据单元格中的数值、单元格颜色、字体颜色或图标等。在需要自定义排序情况下,我们也可以自行根据排序需要......
  • 使用Spire.Doc来转换文本
    使用Spire.Doc来转换文本前段时间,我为不熟悉这个产品的读者们写了一篇关于我对 Spire.Doc的初识印象。 Spire.Doc是一个专业的Word.NET库,它是专门为开发人员设计的用来......
  • C# 在Word文档中生成条形码
    C#在Word文档中生成条形码简介条形码是由多个不同的空白和黑条按照一定的顺序组成,用于表示各种信息如产品名称、制造商、类别、价格等。目前,条形码在我们的日常生活中有着......
  • Java 将Excel转为UOS
    以.uos为后缀的文件,表示UniformOfficeSpreadsheet文件,是一种国产的办公文件格式,该格式以统一办公格式(UOF)创建,使用XML和压缩保存电子表格。既有的Excel表格文件,可以通过......
  • C# 合并及拆分Word文档
    C#合并及拆分Word文档本文简要分析一下如何如何使用C#简单实现合并和拆分word文档。平时我们在处理多个word文档时,可能会想要将两个文档合并为一个,或者是将某个文档的一部......
  • C#/VB.NET 读取条码类型及条码在图片中的坐标位置
    我们在创建条形码时,如果以图片的方式将创建好的条码保存到指定文件夹路径,可以在程序中直接加载图片使用;已生成的条码图片,需要通过读取图片中的条码信息,如条码类型、条码绘制......
  • C# 复制PDF页面到另一个PDF文档
    C#复制PDF页面到另一个PDF文档有时候我们可能有这样一个需求,那就是把PDF页面从一个PDF文档复制到另一个PDF文档中。由于PDF文档并不像word文档那样好编辑,因此复制也相对没......
  • C# 在excel中查找及替换数据
    在使用Excel处理数据时,有时候工作表内容很多,如果手动地一行一行的找数据很难发现它们在哪个地方。微软Excel给我们提供了一个很强大的数据处理功能-查找和替换,通过这个功能,......
  • 在C#里面给PPT添加注释
    平常开会或者做总结报告的时候我们通常都会用到PowerPoint演示文稿,我们可以在单个幻灯片或者全部幻灯片里面添加注释,这样观众可以从注释内容里面获取更多的相关信息。有些朋......
  • C# 提取Word中插入的多媒体文件(视频、音频)
    在Word中可将文件通过OLE对象嵌入的方式插入到文档,包括Word、excel、PDF、PPT、图片、宏文件、文件包等在内的多种文件类型。对文档中已插入的文档对象,也可通过本文中的方法......