项目中有Excel上传的功能以前Excel03使用的是HSSFWorkbook方式解析的。但是现在如果Excel达到上限的时候解析速度超慢。网上百度了一下原来可以使用HSSFListener进行解析。但是现在有一个问题使用HSSFListener监听器进行解析时如何指定需要解析的Sheet页。比如说我想要解析这个Excel的第2个Sheet.现在网上的都是解析所有的Sheet.难道我要把所有的Sheet都解析了然后再进行处理。请大神赐教。拜谢。
/**
* 遍历excel下所有的sheet
* @throws IOException
*/
public void process(String fileName) throws IOException {
this.fs = new POIFSFileSystem(new FileInputStream(fileName));
MissingRecordAwareHSSFListener listener = new MissingRecordAwareHSSFListener(
this);
formatListener = new FormatTrackingHSSFListener(listener);
HSSFEventFactory factory = new HSSFEventFactory();
HSSFRequest request = new HSSFRequest();
if (outputFormulaValues) {
request.addListenerForAllRecords(formatListener);
} else {
workbookBuildingListener = new SheetRecordCollectingListener(
formatListener);
request.addListenerForAllRecords(workbookBuildingListener);
}
factory.processWorkbookEvents(request, fs);
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
[1]都回家过年了吗?######
我也遇到了类似问题。没办法只能在getRows方法那加sheet判断,程序还是会遍历所有的sheet。
另外还有一个问题,sax解析excel2007时,如何获取sheetname?
######通过这个解析的话,始终会读取所有的表,但是你可以通过加个sheetindex来控制