2017-07-12 37 views
1

私はapache poiを使って作業していますが、HSSFワークブックを作成してxlsxファイルを開こうとします。しかし、Excelで開くと、ファイルが破損していると表示されます。ここに私のコードです。Apache poiファイルが壊れています

import org.apache.poi.ss.usermodel.Workbook; 
import org.apache.poi.hssf.usermodel.HSSFWorkbook; 

import java.io.FileOutputStream; 

public class Excel { 

    public static void main(String[] args) { 

     Workbook workbook = new HSSFWorkbook(); 

     try { 
      FileOutputStream output = new FileOutputStream("Test1.xls"); 
      workbook.write(output); 
      output.close(); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 
} 
+0

新しい.xslxファイル形式ではHSSFが動作しない場合があります。それはかなり古いです。私はそれが維持されているか分からない。あなたはAndy KhanのJExcelでもっとうまくいくかもしれません。 – duffymo

+0

同じことが起こっています.xlsを試してみます –

+0

最新リリースのようですね、2017年4月16日です。私は思ったより新しい。どのバージョンを使用していますか? https://poi.apache.org/download.html#POI-3.16 – duffymo

答えて

5

XLSXのXSSFWorkbookを使用する必要があります。

少なくとも1枚のシートを作成し、正しく開いているかどうかを確認してください。

HSSFWorkbook workbook = new HSSFWorkbook(); 
try { 
    FileOutputStream output = new FileOutputStream("Test1.xls"); 
    workbook.createSheet("sheet1") 
    workbook.write(output); 
    output.close(); 
} catch (Exception e) { 
    e.printStackTrace(); 
} 
+0

ありがとうございました。私はXSSFに変更せずに、単にcreateSheetを追加しても機能しました。 –

関連する問題