POIでExcelを修正して保存する
public void writer_Excel(String sSheetName,int iRow,String sColumn,String Data) {
InputStream is=null;
OutputStream os=null;
iRow=iRow-1;
try{
is=new FileInputStream(file);
workbook=new HSSFWorkbook(is);
Sheet sheet=workbook.getSheet(sSheetName);
int Column=Excel_ReturnColumnIndex(sheet,iRow,sColumn);
Cell cell=sheet.getRow(iRow).getCell(Column);
System.out.println(getCellValue(cell));
cell.setCellType(cell.CELL_TYPE_STRING);
cell.setCellValue(Data);
os=new FileOutputStream(file);
workbook.write(os);
}catch(Exception e){
e.printStackTrace();
}finally{
try {
os.close();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
is.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
workbook.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
ネットで長い間調べていたら、POIで直接ファイルを作成したり、フォーマットやフォントを設定したり、ファイルを書いたりしていました.しかし、ファイルを変更して保存する方法は常に見られません.
ファイルを作成するようにファイルを修正し、保存していないと、コードはメモリのコピーだけを修正し、物理ファイルは修正しません.書き出してください.
コードは次のとおりです.
これが書き出したコードfileがファイルオブジェクトです
os=new FileOutputStream(file);
workbook.write(os);