我要求在java中读取* .xlsx文件,因为我正在使用Apache POI API。如果行数少,它的工作效果很好,但当行数大于或等于65536时,我得到了异常{{ 1}}。请帮助我如何解决这个问题。
感谢 sameek
答案 0 :(得分:1)
如果可以将xlsx文件保存为xml - 您可以使用SAX,它非常快且对行数没有限制。
答案 1 :(得分:1)
这可以通过增加可用内存(Java堆空间)
来解决http://hvanbelle.blogspot.com/2009/07/increase-heap-size-in-java-to-prevent.html
http://confluence.atlassian.com/display/DOC/Fix+Out+of+Memory+Errors+by+Increasing+Available+Memory
http://rifers.org/blogs/gbevin/2005/4/21/get_rid_of_outofmemoryerror
答案 2 :(得分:1)
POI支持以低内存方式以流方式读取.xlsx文件。有关其工作原理以及如何开始的详细信息,请参阅http://poi.apache.org/spreadsheet/how-to.html#xssf_sax_api。