猿问

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

我正在读取一个文本文件,然后对该文件执行一些验证,然后我试图将该文件放入一个 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();


}


}


扬帆大鱼
浏览 190回答 1
1回答

元芳怎么了

像这样重写你的代码: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++) {&nbsp;if (i == 0) {&nbsp; bw.newLine();&nbsp;} else {&nbsp; data = llist.get(i);&nbsp; String empid1 = data[0];&nbsp; String fname = data[1];&nbsp; String ccode1 = data[2];&nbsp; if (data[2].equals("IND")) {&nbsp; &nbsp;replace = data[2].replaceAll("IND", "IN");&nbsp; &nbsp;ccode1 = replace;&nbsp; } else if (data[2].equals("USA")) {&nbsp; &nbsp;replace = data[2].replaceAll("USA", "US");&nbsp; &nbsp;ccode1 = replace;&nbsp; } else {&nbsp; &nbsp;ccode1 = data[2];&nbsp; }&nbsp; //String newData=empid1+","+fname+","+ccode1;&nbsp; XSSFRow row = spreadSheet.createRow(i);&nbsp; XSSFCell cell = row.createCell(0);&nbsp; cell.setCellValue(empid1);&nbsp; cell = row.createCell(1);&nbsp; cell.setCellValue(fname);&nbsp; cell = row.createCell(2);&nbsp; cell.setCellValue(ccode1);&nbsp;}}workBook.write(outstream);bw.close();
随时随地看视频慕课网APP

相关分类

Java
我要回答