Java POI 事件模式 读取指定行数

java poi 事件模式采用SAX解析文档。sax一边扫描一边解析。和dom的一次加载到内存中不同。

所以sax不能指定访问到指定行到元素。

sax读取指定行到方法有两种(SheetContentsHandler):

1.实现POI到SheetContentsHandler接口,在方法endRow()中根据行索引得到想要到数据。

这种方法到缺点是:无论你想得到第几行数据,文档必须从头扫描到尾部。

例如:你只想要表头到第一行数据,那么10万的数据也必须从头扫描到尾部。

2.修改SheetContentsHandler接口源码 或者继承DefaultHandler

在endElement()方法中.如果读取到元素==row.那么直接抛出一个异常结束sax解析。


你可能感兴趣的:(Java POI 事件模式 读取指定行数)