提取txt文档中以冒号分隔符区分的信息到excel(前提是使用正则表达式把每一行修改为只有一个冒号)

文本样式:(使用正则表达式替换为每一行最多有一个冒号)

1.
机构名称:AAAAA
许可证号:BBBBB
住所:CCCCC
邮编:DDDDD
法定代表人:EEEEE
电话:11111111
业务范围:FFFFF
执业司法鉴定人:GGGGG
2.
机构名称:AAAAAA
许可证号:BBBBBB
住所:CCCCCC
邮编:DDDDDD
法定代表人:EEEEEE
电话:111111111
业务范围:FFFFFF
执业司法鉴定人:GGGGGG

代码:

package com.xinyongyuan.toexcel;

import java.io.File;
import java.util.List;

import org.apache.poi.openxml4j.util.ZipSecureFile;

import cn.hutool.core.io.FileUtil;
import cn.hutool.poi.excel.ExcelUtil;
import cn.hutool.poi.excel.ExcelWriter;

/**
 * 提取txt文档中以冒号分隔符区分的信息到excel(前提是使用正则表达式把每一行修改为只有一个冒号)
 *
 */
public class App {
    public static void main(String[] args) {
        File f = new File("C:\\a.txt");
        List<String> lines = FileUtil.readLines(f, "UTF-8");

        // 通过工具类创建writer
        ExcelWriter writer = ExcelUtil.getWriter("C:\\writeTest.xlsx");
        ZipSecureFile.setMinInflateRatio(-1.0d);
        int x = 0;
        int y = 0;
        for (String line : lines) {
            if (line.contains(":")) {
                if (line.contains("执业司法鉴定人")) {
                    writer.writeCellValue(x, y, line.substring(line.indexOf(":") + 1, line.length()));
                    // 行号加一
                    y++;
                    // 列号归零
                    x = 0;
                } else {
                    writer.writeCellValue(x, y, line.substring(line.indexOf(":") + 1, line.length()));
                    // 列号归零
                    x++;
                }
            }
        }
        // 关闭writer,释放内存
        writer.close();
    }
}

POM.XML

	<dependencies>
		<dependency>
			<groupId>org.apache.poi</groupId>
			<artifactId>poi-ooxml</artifactId>
			<version>4.1.1</version>
		</dependency>
		<dependency>
			<groupId>cn.hutool</groupId>
			<artifactId>hutool-all</artifactId>
			<version>5.0.7</version>
		</dependency>
	</dependencies>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值