10

apachi poiを使用して特定のxlsxファイルからデータ(セル値)を読み取りたい。以下のコードは、SXSSFWorkBookインスタンスを正常に作成し、db.xlsx(私のダミーxlsx)を割り当てます。シート番号を変更し、getSheetNumberメソッドで再確認して、ブックが正しく割り当てられていることを確認してみました。

0次に、特定のシート(名前の付いたインデックスmain)をインスタンスに割り当てたいのですSXSSFSheetが、現在はを返しますnull。(私は試した方法getSheetAtgetSheet方法の両方を試しました)。

SXSSFRow DummyRow;
SXSSFCell DummyCell;

int RowCount;
OPCPackage pkg = OPCPackage.open(blabla string adress);

XSSFWorkbook wb = new XSSFWorkbook(pkg);
Workbook MainBook = new SXSSFWorkbook(wb,100);

int a = MainBook.getNumberOfSheets();

SXSSFSheet MainSheet = (SXSSFSheet) MainBook.getSheetAt(0); 
RowCount = MainSheet.getLastRowNum();

私は何が間違っているのですか?

編集:

私は方法を試しgetSheetNameましたが、良い結果が得られました。したがって、問題はワークシートの行に到達することです。したがって、最後の行getLastRowNum()は機能していません。

4

1 に答える 1

19

できません。SXSSFWorkBookは書き込み専用であり、読み取りをサポートしていません

.xlsxファイルの低メモリ読み取りについては、XSSFおよびSAXEventModelのドキュメントを参照してください。

于 2012-09-20T14:44:57.203 に答える