Java 拆分Excel单元格数据为多列
程序员文章站
2022-03-28 14:45:45
...
一、概述及使用工具
在Excel表格里面,可设置将单元格中的文本数据按分隔符拆分为多列,下面通过Java程序来介绍具体实现方法。这里使用Free Spire.XLS for Java(免费版)来实现数据分列,需要导入Spire.Xls.jar文件到Java程序,可参考以下两种方法导入jar:
方法1:官网下载jar包,解压导入Spire.Xls.jar(jar在lib文件夹下)
方法2:Maven程序中导入jar需要先配置Pom.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(); } }
< 完 >