如何解决如何使用 Apache POI 事件模型 API 从 .xlsx 文件中获取总行数
我指的是本文档 https://poi.apache.org/components/spreadsheet/how-to.html#xssf_sax_api 来读取大型 excel (.xlsx) 文件。我能够使用这种方法读取整个 .xlsx 文件,但在从文件中读取记录时仍然坚持获取总行数。
根据要求,用户正在上传 .xlsx 文件,并且数据始终在 excel 的第一列 (A) 中可用。我从 .xlsx 文件中一一读取记录并发送到队列。但我也想将每次发送数据的记录总数发送到队列中。
我几乎花了 3 个小时来解决这个问题,但没有找到合适的代码。
任何帮助将不胜感激。
解决方法
POI 示例中有第二个流媒体示例。 http://svn.apache.org/repos/asf/poi/trunk/src/examples/src/org/apache/poi/examples/xssf/eventusermodel/XLSX2CSV.java
这个使用不同的流接口,暴露带有行号的 startRow 和 endRow 事件。
另一种方法是使用 excel-streaming-reader - 请参阅示例(https://github.com/pjfanning/excel-streaming-reader-sample/blob/master/src/main/java/com/github/pjfanning/poi/sample/StreamingRead.java) - 可以修改它以记录最后一行的最后一个 'getRowNum()' 值。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。