私は少し混乱しています、私はこれをしていました:
HSSFWorkbook wb = new HFFSWorkbook();
しかし、新しい POI では、その必要はありません。
私はこれを行うことはできません:
Workbook wb = new Workbook();
わかりWorkbookFactory.create
ましたが、それはファイルを開くためのものです。
この ss モデルで新しいワークブックをセットアップするにはどうすればよいですか?
私は少し混乱しています、私はこれをしていました:
HSSFWorkbook wb = new HFFSWorkbook();
しかし、新しい POI では、その必要はありません。
私はこれを行うことはできません:
Workbook wb = new Workbook();
わかりWorkbookFactory.create
ましたが、それはファイルを開くためのものです。
この ss モデルで新しいワークブックをセットアップするにはどうすればよいですか?
SS モデルは引き続き使用できますが、作成時にファイル形式を決定する必要があります。
のためにxls
- >Workbook wb = new HSSFWorkbook();
のためにxlsx
- >Workbook wb = new XSSFWorkbook();
「New POI」では、XLSファイルとXLSXファイルの両方を読み書きできます。いずれにせよ、使用していたXLSファイル形式の場合:
HSSFWorkbook wb = new HSSFWorkbook();
したがって、XLSX ファイル形式の場合は、次を使用する必要があります。
XSSFWorkbook wb = new XSSFWorkbook();
// you could also do below
// Workbook wb = new XSSFWorkbook();
また、XLS から XLSX への移行を開始するには、以下のリンクを参照してください。
1. http://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFWorkbook.html
2. http://poi.apache.org/spreadsheet/converting.html
ファイルを作成するときは、フォーマットを事前に決めておく必要があります。書き出しの時間まで待っているわけにはいきません。コードは次のようになります。
Workbook wb = null;
if (shouldBeXLS) {
wb = new HSSFWorkbook();
} else {
wb = new XSSFWorkbook();
}
// work on the file in a generic way
// save, with a suitable name
String filename = "test.xls";
if (!shouldBeXLS) { filename = filename + "x"; }
FileOutputStream fout = new FileOutputStream(filename);
wb.write(fout);
fout.close();
最初に、この特定のインスタンスに必要な形式を決定し、それを作成します。一般的なワークブックとして扱い、一般的な方法で書き込みます。最後に、ファイルに適切な拡張子を付けることができるように、それが何であるかを覚えておいてください!
(ファイルをWorkbookFactory
読み込むときに、ファイル タイプに適したインスタンスをロードできます。新しいファイルを作成するときは、まだ何もないので、自分で選択する必要があります!)