我正在使用Java开发一个web应用程序,在这里我有一个方法可以读取。使用apache poi的xlsx文件:
public static void xlsx(String arquivo) throws IOException{
try {
FileInputStream file = new FileInputStream(new File(arquivo));
XSSFWorkbook workbook = new XSSFWorkbook(file);
XSSFSheet sheet = workbook.getSheetAt(0);
Iterator<Row> rowIterator = sheet.iterator();
while (rowIterator.hasNext()) {
Row row = rowIterator.next();
Iterator<Cell> cellIterator = row.cellIterator();
while (cellIterator.hasNext()) {
Cell celula = cellIterator.next();
/*here do the reading for each cell,*/
}
}
file.close();
} catch (IOException e) {
e.printStackTrace();
throw new IOException("Erro ao processar arquivo.",e.getCause());
}
}
该方法工作正常,但是该方法处理具有数千行记录的文件的可能性有多大,例如,大约2530万行。当处理一个大文件时,我采取以下异常:
(http-localhost-127.0.0.1-8080-4) Servlet.service() for servlet RestServlet threw exception: org.jboss.resteasy.spi.UnhandledException: java.lang.OutOfMemoryError: Java heap space
我需要知道如何避免这种错误。例如,如果有,请读取并处理该文件。xlsx 1000至1000线,或其他解决方案。
如果您想保持现有的实现,只需增加JVM最大堆大小。有关说明和相关讨论,请参阅如何增加jBoss服务器的堆大小。
问题内容: 我需要在Java应用程序中读取Excel 2007 XLSX文件。有谁知道一个很好的API来完成这项任务? 问题答案: AFAIK还没有可用的xlsx库。但是有些旧的xls: 一个库是jxls,它内部使用已经提到的POI。 其他2个链接:处理Excel文件,用于读写Excel XLS文档文件的Java库 。
我在用图书馆 我在努力 库,但无法将其转换为工作簿 注意:在最终结果中,我希望返回XSSFWorkbook 上面的代码会内存溢出,任何帮助都将提前感谢
我正在尝试读取xls和xlsx文件。能够读取xls,但xlsx获取异常:- POI-3.11-20141221.JAR POI-OOXML-3.11.JAR poi-ooxml-schemas-3.11.jar 但无法在Android Studio中构建此jar文件。 我不知道怎么做。
问题内容: 我有一个非常大的文本文件(45GB)。文本文件的每一行包含两个空格分隔的64位无符号整数,如下所示。 4624996948753406865 10214715013130414417 4305027007407867230 4569406367070518418 10817905656952544704 3697712211731468838 … … 我想读取文件并对数字进行一些操作。
线程“main”org.apache.poi.xssf.usermodel.xssfactory.createdocumentPart(xssfactory.java:62)在org.apache.poi.poi.xssf.usermodel.xssfworkbook(xssfworkbook.java:271)在org.apache.poi.xssf.usermodel.xssfactory.c
我需要帮助在阅读xlsx文件,也使用密码解锁,正如上面所做的。