try {
System.out.println(f.getAbsoluteFile());
// FileInputStream input = new FileInputStream(f);
FileInputStream inp = new FileInputStream("C:\\Users\\Jamal\\Desktop\\Japaneseword1.xls");
Workbook workbook = new HSSFWorkbook(inp);
FileOutputStream output = new FileOutputStream("C:\\Users\\Jamal\\Desktop\\Japaneseword2.xls");
Sheet sheet2 = workbook.getSheet("Japaneseword");
int num = sheet2.getLastRowNum();
num=++;
System.out.print(num);
Row row = sheet2.createRow(num);
Cell cell = row.createCell(0);
cell.setCellValue(Japaneseword);
Cell cell2 = row.createCell(1);
cell2.setCellValue(Japaneseword);
Cell cell3 = row.createCell(2);
cell3.setCellValue(Japaneseword);
Cell cell4 = row.createCell(3);
cell4.setCellValue(Japaneseword);
Cell cell5 = row.createCell(4);
cell5.setCellValue(Japaneseword);
Cell cellwebsite = row.createCell(5);
workbook.write(output);
}
catch(Exception e){
e.printStackTrace();
}
}
这段代码的目的只是保存内容,添加一行,并将用户的输入添加到 excel 文件中。我曾经InputStream
尝试保存以前的条目,然后添加新条目,并使用outputstream
打印出 excel 文件。我过去这样做没有问题,但由于某种原因inputstream
没有正确保存。我对这个问题感到非常沮丧。很想知道为什么会这样。
谢谢。
- - 更新 - -
好的,更新,出于某种原因,它偶尔会起作用。看看我是否创建了文件,使用上述方法它不会正确复制。但是,如果我将方法的构造函数中的文件名更改为outputstream
excel 文档上的不同名称,它会开始计算行数。然后它会正确保存数据并按预期工作。这有意义吗?
基本上,创建文件后,我必须返回,更改代码,然后保存并复制数据,然后我可以继续编辑文件。该解决方案不实用。