如何使用java poi更改xls文件
我制作了一个函数,用poi写入文件.xls:如何使用java poi更改xls文件,java,excel,apache-poi,Java,Excel,Apache Poi,我制作了一个函数,用poi写入文件.xls: public void write() throws IOException{ String excelFileName = "C:\\Users/Default/Desktop/MyFirstExcel.xls";//name of excel file String sheetName = "Sheet1";//name of sheet HSSFWorkbook wb = new HSSFWorkbook()
public void write() throws IOException{
String excelFileName = "C:\\Users/Default/Desktop/MyFirstExcel.xls";//name of excel file
String sheetName = "Sheet1";//name of sheet
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet(sheetName) ;
//iterating r number of rows
for (int r=0;r <10; r++ )
{
HSSFRow row = sheet.createRow(r);
//iterating c number of columns
for (int c=0;c < 5; c++ )
{
HSSFCell cell = row.createCell(c);
cell.setCellValue((String)"Cell "+r+" "+c); //+r+" "+c
}
}
FileOutputStream fileOut = new FileOutputStream(excelFileName);
//write this workbook to an Outputstream.
wb.write(fileOut);
fileOut.flush();
fileOut.close();
Alert alert = new Alert(AlertType.INFORMATION);
alert.setTitle("Information Dialog");
alert.setHeaderText(null);
alert.setContentText("Done");
alert.showAndWait();
}
这似乎还不够。您需要从文件/inputstream创建工作簿对象,然后才能读取现有的行/单元格/。。。并对内容进行修改/添加,即
InputStream stream = new FileInputStream(excelFileName);
try {
HSSFWorkbook wb = new HSSFWorkbook(stream);
...
// write to a new file here!
wb.write(outStream);
} finally {
stream.close();
}
请参见如果要更改excel,则需要打开并修改工作簿
InputStream stream = new FileInputStream(excelFileName);
try {
HSSFWorkbook wb = new HSSFWorkbook(stream);
...
// write to a new file here!
wb.write(outStream);
} finally {
stream.close();
}