7

我知道我们可以通过遍历所有行并调用getLastCellNumber每个行对象来获得最大列数。但是这种方法需要遍历我想要避免的所有行,因为对于一百万个文件来说这将花费大量时间行(这是我期望读取的文件类型)。

当 POI 读取一个 excel 文件时,它将工作表尺寸(第一行号,最后一行号,第一列号,最后一列号)存储在DimensionsRecord类的对象中。所以如果我得到这个对象,我会得到我需要的。这些对象可以从作为 POI 的内部类的 Sheet 类中获得。我能够提取我需要的 XLS 文件,但我遇到了 XLSX 文件的障碍。

POI 是否DimensionsRecord也为 XLSX 维护对象?如果是,有人试图提取它吗?还是有其他方法可以做到这一点?请帮忙!

我还想问一下,我的方法是否正确,即我正在使用 POI 的内部类(它正在完成我的工作),这是正确的还是我应该完全依赖暴露的 API(太耗时)。

4

1 回答 1

3

XSSF Sheets 上也有一个维度对象。尝试:

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

想到的一个问题是我不确定维度(CTDimensions 或DimensionsRecord)是否需要始终正确......

于 2011-04-25T22:51:34.007 回答