添加的文本未显示在Excel工作表中

时间:2014-01-28 13:34:06

标签: java excel

我正在尝试在.xlsx工作簿中编写一些值(工作簿已存在),但我无法做到。在下面给出的代码中,我试图写下“PASS”这个词。据我所知,cell.setCellValue("PASS")正在设置单元格的值,但是当我打开.xlsx表单时,不会显示该值。我使用System.out.println(cell.getStringCellValue())来查找是否将值分配给单元格,它将值打印为PASS。

public static void writeResultInExcel() throws InvalidFormatException, IOException{
    int testScript=0;
    Cell cell = null;
    fi = new File("D:/Selenium/Excel/Example.xlsx");
    fis = new FileInputStream(fi);  
    W = WorkbookFactory.create(fi);
    Sheet sh = W.getSheetAt(testScript);
    cell=sh.createRow(0).createCell(0);
    cell.setCellValue("PASS");
    fis.close();
    try {
        FileOutputStream fos = new FileOutputStream("fi");
        W.write(fos);
        System.out.println(cell.getStringCellValue());
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

2 个答案:

答案 0 :(得分:0)

尝试关闭FileOutputStream。然后应该释放与之相关的任何内容。

try {
    FileOutputStream fos = new FileOutputStream(fi);
    W.write(fos);
    fos.close();
    System.out.println(cell.getStringCellValue());

答案 1 :(得分:0)

您正在将xls写入另一个位置(“fi”):FileOutputStream fos = new FileOutputStream(“fi”); 你的代码应该是这样的:

FileOutputStream fos = new FileOutputStream("D:/Selenium/Excel/Example.xlsx);