我正在尝试编写一段代码,将数据追加到已经存在的Excel电子表格中。但是当我运行此代码时,文件会变得损坏。
在这个代码中,我尝试添加一个电子表格,但我已经尝试过在现有表格中添加单元格,但都没有成功,而且出现了同样的错误。我是否漏掉了什么?看起来我创建了一个Excel,添加了一些数据,然后写入、关闭它。然后只是向现有工作簿添加一个新表格,并再次将其写入流。
public class PlayWithExcel {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Workbook wb = new XSSFWorkbook();
XSSFSheet ws = (XSSFSheet) wb.createSheet("Initial Data");
XSSFSheet ws1 = (XSSFSheet) wb.createSheet("Cross Referenced");
XSSFSheet ws2 = (XSSFSheet) wb.createSheet("HPD");
Row row = ws.createRow(0);
row.createCell(0).setCellValue("Value");
row = ws1.createRow(2);
row.createCell(3).setCellValue("Address");
try {
String path = "C:/Users/Jenny/Desktop/Test.xlsx";
FileOutputStream out = new FileOutputStream(path);
wb.write(out);
out.close();
} catch (Exception e) {
e.printStackTrace();
}
XSSFSheet ws3 = (XSSFSheet) wb.createSheet("another sheet");
try {
String path = "C:/Users/Jenny/Desktop/Test.xlsx";
FileOutputStream out = new FileOutputStream(path);
wb.write(out);
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}