为了账号安全,请及时绑定邮箱和手机立即绑定

读入文本文件并使用 Java 将其上传到 excel

读入文本文件并使用 Java 将其上传到 excel

扬帆大鱼 2021-09-29 14:55:27
我正在读取一个文本文件,然后对该文件执行一些验证,然后我试图将该文件放入一个 excel 文件中。但是我只能将最后一行添加到 excel 文档中,而不是每一行。任何帮助表示赞赏。谢谢你。这是我到目前为止所拥有的:LinkedList<String[]> llist = new LinkedList<>();String[] data;File temp = new File("file.txt");BufferedWriter bw = new BufferedWriter(new FileWriter(temp));for (int i = 0; i < llist.size(); i++) {    if(i==0){        bw.newLine();    }    else{        data = llist.get(i);    String empid1 = data[0];    String fname = data[1];    String ccode1 = data[2];    if(data[2].equals("IND")) {        replace = data[2].replaceAll("IND", "IN");        ccode1 = replace;    }    else if(data[2].equals("USA")) {        replace = data[2].replaceAll("USA", "US");        ccode1 = replace;    }    else {        ccode1 = data[2];    }    String newData=empid1+","+fname+","+ccode1;    XSSFWorkbook workBook = new XSSFWorkbook();    FileOutputStream outstream=new FileOutputStream("data.xls");    XSSFSheet spreadSheet = workBook.createSheet("Clean");    int row_num = 0;    for(String[] str : llist) {        XSSFRow row = spreadSheet.createRow(row_num++);        int cell_num = 0;        for(String value : str) {            XSSFCell cell = row.createCell(cell_num++);            cell.setCellValue(value);        }    }    workBook.write(outstream);}}bw.close();}}
查看完整描述

1 回答

?
元芳怎么了

TA贡献1798条经验 获得超7个赞

像这样重写你的代码:


LinkedList < String[] > llist = new LinkedList < > ();


String[] data;


File temp = new File("file.txt");

BufferedWriter bw = new BufferedWriter(new FileWriter(temp));


XSSFWorkbook workBook = new XSSFWorkbook();

FileOutputStream outstream = new FileOutputStream("data.xls");

XSSFSheet spreadSheet = workBook.createSheet("Clean");


for (int i = 0; i < llist.size(); i++) {

 if (i == 0) {

  bw.newLine();

 } else {

  data = llist.get(i);


  String empid1 = data[0];

  String fname = data[1];

  String ccode1 = data[2];


  if (data[2].equals("IND")) {

   replace = data[2].replaceAll("IND", "IN");

   ccode1 = replace;

  } else if (data[2].equals("USA")) {

   replace = data[2].replaceAll("USA", "US");

   ccode1 = replace;

  } else {

   ccode1 = data[2];

  }


  //String newData=empid1+","+fname+","+ccode1;


  XSSFRow row = spreadSheet.createRow(i);


  XSSFCell cell = row.createCell(0);

  cell.setCellValue(empid1);


  cell = row.createCell(1);

  cell.setCellValue(fname);


  cell = row.createCell(2);

  cell.setCellValue(ccode1);

 }

}


workBook.write(outstream);

bw.close();


查看完整回答
反对 回复 2021-09-29
  • 1 回答
  • 0 关注
  • 189 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信