将符号分隔的文本文件txt转换为excel的实现

文本文件如下:

现在不好处理,打算将其转换为excel,其中通过冒号分割:line.split(":")
main方法如下:

java 复制代码
 public static void main(String[] args) {
     
        String textFilePath = "D:\\zoom\\期刊\\J_Medline\\J_Medline";  // 替换为你的文本文件路径
        String excelFilePath = "D:\\zoom\\期刊\\J_Medline\\output1.xlsx";  // 生成的 Excel 文件路径

        List<String[]> data = new ArrayList<>();

        try (BufferedReader br = new BufferedReader(new FileReader(textFilePath))) {
            String line;
            while ((line = br.readLine()) != null) {
                String[] fields = line.split(":");
                String strip = StringUtils.strip(Arrays.toString(fields), "[]");
                if(!strip.equals("--------------------------------------------------------")){
                    data.add(fields);
                }

            }
        } catch (IOException e) {
            e.printStackTrace();
        }

        try (Workbook workbook = new XSSFWorkbook()) {
            Sheet sheet = workbook.createSheet("Sheet1");
            int rowNum = 0;

            for (String[] rowData : data) {
                Row row = sheet.createRow(rowNum++);
                int colNum = 0;
                for (String field : rowData) {
                    Cell cell = row.createCell(colNum++);
                    cell.setCellValue(field);
                }
            }
            try (FileOutputStream outputStream = new FileOutputStream(excelFilePath)) {
                workbook.write(outputStream);
                System.out.println("Excel file created successfully: " + excelFilePath);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

其中去掉了横线----------------------------------------,结果如下:

相关依赖如下:

java 复制代码
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import java.io.BufferedReader;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
java 复制代码
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>4.1.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.12.0</version>
        </dependency>
相关推荐
铁皮哥几秒前
【agent 开发】Claude Code 的 Skill 是怎么被加载的?从 name/description 到 SKILL.md 再到资源文件
java·服务器·数据库·python·gitee·github·软件工程
白宇横流学长11 分钟前
基于SpringBoot实现的校园失物招领平台设计与实现【源码+文档】
java·spring boot·后端
罗超驿15 分钟前
6.Java多线程详解:Thread类、线程属性与start()方法深度解析
java·开发语言·面试·java-ee
苦逼的猿宝21 分钟前
IT技术交流和分享平台的设计与实现(源码+论文)
java·毕业设计·springboot·计算机毕业设计
摇滚侠24 分钟前
IDEA 需要修改的配置 开发工具
java·ide·intellij-idea
2601_9577867730 分钟前
企业矩阵运营的“三段论“:管号、产内容、获线索——全链路系统的价值拆解
java·前端·矩阵·多平台管理
Run_Teenage32 分钟前
算法模板:输入输出,并查集
java·开发语言·算法
一 乐35 分钟前
公交线路查询系统|基于Java+vue公交线路查询系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·公交线路查询系统
AllData公司负责人39 分钟前
亲测丝滑,体验跃迁|AllData通过集成开源项目Datart,让数据可视化一目了然
java·大数据·数据库·python·数据可视化·数据视图·datart
未若君雅裁41 分钟前
RabbitMQ 高可用机制:普通集群、镜像队列与仲裁队列
java·微服务·rabbitmq·java-rabbitmq