首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >读取文本文件并使用Java将其上载到excel

读取文本文件并使用Java将其上载到excel
EN

Stack Overflow用户
提问于 2018-09-20 06:46:38
回答 1查看 72关注 0票数 0

我正在读取一个文本文件,然后对该文件执行一些验证,之后我将尝试将该文件放入excel文件中。但我只能将最后一行添加到excel文档中,而不是每一行。任何帮助都是非常感谢的。谢谢。这是我到目前为止所知道的:

代码语言:javascript
复制
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();

}

}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-20 08:01:16

像这样重写你的代码:

代码语言:javascript
复制
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();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52415155

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档