将符号分隔的文本文件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>
相关推荐
sheji341627 分钟前
【开题答辩全过程】以 婚纱影楼管理系统为例,包含答辩的问题和答案
java·eclipse
LuDvei29 分钟前
LINUX文件操作函数
java·linux·算法
葵续浅笑1 小时前
从Spring拦截器到Filter过滤器:一次报文修改加解密的填坑经验
java·后端·spring
J2虾虾1 小时前
Spring Boot中使用@Scheduled做定时任务
java·前端·spring boot
肉肉不想干后端2 小时前
联合订单并发退款:一次分布式锁冲突的排查与思考
java
用户4745189475102 小时前
全链路日志追踪利器:trace-spring-boot-starter 实战指南
java
acx匿2 小时前
【Windows10 下 JDK17 环境变量配置超详细教程(ZIP 版)】
java·jdk
Renhao-Wan2 小时前
Java 算法实践(七):动态规划
java·算法·动态规划
新缸中之脑2 小时前
Sonnet 4.6 vs Opus 4.6
java·开发语言
曹牧2 小时前
Java:@RequestBody 和 @RequestParam混合使用
java·开发语言