3

私は少し混乱しています、私はこれをしていました:

HSSFWorkbook wb = new HFFSWorkbook();

しかし、新しい POI では、その必要はありません。

私はこれを行うことはできません:

Workbook wb = new Workbook();

わかりWorkbookFactory.createましたが、それはファイルを開くためのものです。

この ss モデルで新しいワークブックをセットアップするにはどうすればよいですか?

4

4 に答える 4

7

SS モデルは引き続き使用できますが、作成時にファイル形式を決定する必要があります。

のためにxls- >Workbook wb = new HSSFWorkbook();

のためにxlsx- >Workbook wb = new XSSFWorkbook();

于 2015-08-07T17:22:10.157 に答える
4

「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

于 2012-09-10T22:20:00.613 に答える
2

ファイルを作成するときは、フォーマットを事前に決めておく必要があります。書き出しの時間まで待っているわけにはいきません。コードは次のようになります。

 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読み込むときに、ファイル タイプに適したインスタンスをロードできます。新しいファイルを作成するときは、まだ何もないので、自分で選択する必要があります!)

于 2012-09-11T07:41:13.977 に答える