我正在尝试在.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();
}
}
答案 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);