我有一個空的電子表格,但是當我使用Apache POI(版本3.10)訪問它時,它說它有1024列和20個物理列。
我真的刪除了所有單元格,只剩下一些格式,但沒有內容。
如果我用LibreOffice Calc(版本4.1.3.2)刪除一些列,列數只有增加!這是怎麼回事?
有沒有一種可靠的方法來獲得實際的列數(或一行中的單元格)?Apache POI在空電子表格中看到列?
import java.net.URL;
import org.apache.poi.ss.usermodel.*;
public class Test {
public static void main(final String... args) throws Exception {
final URL url = new URL("http://aditsu.net/empty.xlsx");
final Workbook w = WorkbookFactory.create(url.openStream());
final Row r = w.getSheetAt(0).getRow(0);
System.out.println(r.getLastCellNum());
System.out.println(r.getPhysicalNumberOfCells());
}
}
你怎麼沒有使用XSSF包?嘗試使用它來讀取xlsx。 – anonymous
據我所知,具有格式化的單元格被初始化,並且具有該樣式的列也是相同的。 – crzbt
@anonymous WorkbookFactory是訪問電子表格的首選方式。它根據需要在內部使用XSSF或HSSF。 – aditsu