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);