一、概述及使用工具
在Excel表格里面,可设置将单元格中的文本数据按分隔符拆分为多列,下面通过Java程序来介绍具体实现方法。这里使用Free Spire.XLS for Java(免费版)来实现数据分列,需要导入Spire.Xls.jar文件到Java程序,可参考以下两种方法导入jar:
方法1:官网下载jar包,解压导入Spire.Xls.jar(jar在lib文件夹下)
方法2:Maven程序中导入jar需要先配置Pom.xml文件,如下:
?
class="xml"><repositories>
<repository>
<id>com.e-iceblue</id>
<url>http://repo.e-iceblue.cn/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.xls.free</artifactId>
<version>3.9.1</version>
</dependency>
</dependencies>
?
二、代码示例
import com.spire.xls.*;
public class SplitData {
public static void main(String[] args) {
//创建Workbook,加载Excel测试文档
Workbook book = new Workbook();
book.loadFromFile("sample.xlsx");
//获取指定工作表
Worksheet sheet = book.getWorksheets().get(0);
String[] splitText ;
String text;
//从第2行数据遍历到最后一行
for (int i = 1; i < sheet.getLastRow(); i++)
{
text = sheet.getCellRange(i + 1, 1).getText();
//拆分按逗号作为分隔符的数据列(注意这里分隔符以英文输入状态下的符号为准)
splitText = text.split(",");
//保存被拆分的数据到数组,将数组项写入列
for (int j = 0; j < splitText.length; j++)
{
sheet.getCellRange(i + 1, 1 + j + 1).setText(splitText[j]);
}
}
//设置数据自适应列宽
sheet.getAllocatedRange().autoFitColumns();
//保存文档
book.saveToFile("SplitData.xlsx", ExcelVersion.Version2013);
book.dispose();
}
}
?
?
< 完 >
?