欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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文件夹下)

方法2Maven程序中导入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();
    }
}

 

 

< 完 >