java 导出多个txt文件怎么打开_javase多个txt文件内容导入excel中

这篇博客介绍了一个Java程序,该程序用于批量读取四个文件夹下的多个TXT文件内容,并将这些内容写入新的Excel文件中。通过遍历每个文件夹,打开TXT文件,读取每行数据,然后按照特定格式写入Excel的不同工作表中,实现了TXT到Excel的转换。
摘要由CSDN通过智能技术生成

做一个项目,需要把excel的东西导入数据库,,但发给我的是txt文件,要求先转成excle文件。。。

废话不多说,我也是新手,都是一晚上学到的东西,总结下。

这是发给我的东西

a0e8d4d87dd6a8fb283d74aab7d82205.png

4a41daa1efb6118ca86cb08efd93fa0a.png

要求结果是要这样

564ef39273ae90f10ded250ae5cde310.png

思路就是扫描4个文件夹下的所有txt文件,读出内容,写入excel中

import java.io.BufferedReader;

import java.io.File;

import java.io.FileInputStream;

import java.io.InputStream;

import java.io.InputStreamReader;

import jxl.Workbook;

import jxl.write.Label;

import jxl.write.WritableSheet;

import jxl.write.WritableWorkbook;

public class Test3 {

//data路径

static String[] dataPath ={"e://data//ac","e://data//Icebox","e://data//Television","e://data//Washer"};

// SHEET NAME

static String[] sheetName = {"AC","Icebox","Television","Washer"};

static String[] sortname={"空调","冰箱","电视","洗衣机"};

static String encoding="GBK";//编码,不写的话可能会有乱码

public static void main(String[] args) throws Exception {

File excel= new File("e://data1","goods.xls");//新建goods.xls,如果存在则会覆盖

WritableWorkbook book =Workbook.createWorkbook(excel);

for(int m=0;m<4;m++)//打开4个文件夹

{

File files=new File(dataPath[m]);

File[] file=files.listFiles();

WritableSheet sheet = book.createSheet(sheetName[m], m);//建立4个sheet分部存冰箱、空调、洗衣机的数据。。

String line;int x=4,y=1,num=0;//对行列的控制

for(int i=0;i

{

//显示文件路径和文件名称

System.out.println(file[i].getPath()+"《《《"+file[i].getName());

//读txtbuffer

InputStream fis =new FileInputStream(file[i]);

InputStreamReader reader= new InputStreamReader(fis,encoding);

BufferedReader buff =new BufferedReader(reader);

//输出到excel

int oder=0;

while((line=buff.readLine())!=null)

{line=line.trim();

//检验是否是空行,开头是否是数字,里面有没有“ : ”,长度大于10防止空数据

if(line.trim().length()!=0&&(int)line.charAt(0)>47&&

(int)line.charAt(0)<58&&line.indexOf(":")>0

&&line.length()>10)//换行

{String s1,s2;

s1=S1(line);s2=S2(line);

oder++;

sheet.addCell(new Label(0,y,oder+""));

sheet.addCell(new Label(1,y,sortname[m]));

sheet.addCell(new Label(2,y,s1));

sheet.addCell(new Label(3,y,s2));

x=3;

if(y>1){sheet.addCell(new Label(5,y-1,(num-1)+""));}

y++;

num=0;

}else{

if(x==5){x++;}

sheet.addCell(new Label(x,y-1,line));

x++;num++;

}

}

sheet.addCell(new Label(5,y-1,(num-1)+""));

}

}

book.write();

book.close();

}

//分割字符串

public static String S1(String line){

int i1;

String s1;

i1=line.indexOf(" ");

line=line.substring(i1+1);

i1=line.indexOf(" ");

line=line.substring(i1+1);

i1=line.indexOf(" ");

s1=line.substring(0,i1);

return s1;

}

public static String S2(String line){

int i1;

String s2;

i1=line.indexOf(" ");

line=line.substring(i1+1);

i1=line.indexOf(" ");

line=line.substring(i1+1);

i1=line.indexOf(" ");

s2=line.substring(i1+1);

return s2;

}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值