Quantcast
Channel: 質問!ITmedia 新着質問(Java/253)
Viewing all articles
Browse latest Browse all 2439

POIで出力したExcelファイルで変更メッセージ

$
0
0
POIで出力したExcelファイルを開いてすぐに閉じると 「'○○.xls'への変更を保存しますか?」といったメッセージが出てしまい、 何とかならないかと困っている状況です。 全体的な流れとしては単純で、テンプレートとなるExcelファイルを用意して それをPOIを利用して読み込み、値をセットして、別名で保存しなおしています。 テンプレートは、SUM関数が書かれただけのシンプルなものです。 POIのバージョンは、3.8です。 JREは、1.5.0_15を使用しています。 プログラムは以下になります。 -----------------------------------------------------   int rowNo = 0;   int colNo = 0;      FileOutputStream fileOutputStream = null;   try{    //EXCEL読み込み    HSSFWorkbook inputWorkbook = new HSSFWorkbook(     new FileInputStream(new File("C:\\Test1.xls")));    fileOutputStream = new FileOutputStream("C:\\結果.xls");        //最初のシートを取得する    HSSFSheet sheet = inputWorkbook.getSheetAt(0);    sheet.setForceFormulaRecalculation(true);        //ROW取得    HSSFRow row = sheet.getRow(rowNo);    if(null == row)row = sheet.createRow(rowNo);    //CELL取得    HSSFCell cell = row.getCell(colNo);    if(null == cell)cell = row.createCell(colNo);    //値を書き込む    cell.setCellValue(1);        //EXCELファイル書き出し    inputWorkbook.write(fileOutputStream);   }catch (Exception e) {    e.printStackTrace();   }finally{    try{     if(null != fileOutputStream)fileOutputStream.close();    }catch (Exception e) {     e.printStackTrace();    }   } ----------------------------------------------------- 以下の一文を除くと、変更メッセージは表示されなくなります。 sheet.setForceFormulaRecalculation(true); しかし、この一文がないとSUM関数の計算が動作しません。 記述、認識の不備、また解決に向けた良い方法がありましたら ご教授のほど、よろしくお願いします。

Viewing all articles
Browse latest Browse all 2439

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>