7

すべての行を反復処理して各行オブジェクトを呼び出すことで、列の最大数を取得できることはわかっていgetLastCellNumberます..しかし、このアプローチでは、回避したいすべての行を反復処理する必要があります。行(これは、私が期待している種類のファイルです)。

POI が Excel ファイルを読み込むと、シートの寸法 (最初の行番号、最後の行番号、最初の列番号、最後の列番号) がDimensionsRecordクラスのオブジェクトに格納されます。したがって、このオブジェクトを取得すると、必要なものが取得されます。これらのオブジェクトは、POI の内部クラスである Sheet クラスから取得できます。XLS ファイルに必要なものを抽出することはできましたが、XLSX ファイルの障害にぶつかりました。

POIDimensionsRecordは XLSX のオブジェクトも保持していますか? はいの場合、誰かがそれを抽出しようとしましたか? または、これを行うことができる他のものはありますか?? 助けてください!

また、私のアプローチが正しいかどうか、つまり、POI の内部クラスを使用している (作業が完了している) かどうか、これは正しいか、公開された API だけに頼るべきか (時間がかかりすぎる) かどうかを尋ねたいと思いました。

4

1 に答える 1

3

XSSF シートにもディメンション オブジェクトがあります。試す:

CTSheetDimension dimension = sheet.getCTWorksheet().getDimension();
String sheetDimensions = dimenson.getRef();

頭に浮かぶ 1 つの問題は、ディメンション (CTDimensions または DimensionsRecord) が常に正しいことが必要かどうかわからないということです...

于 2011-04-25T22:51:34.007 に答える