繁体   English   中英

使用Java搜索xlsx和xls文件

[英]Search in xlsx and xls file using java

我有一个很大的xlsx文件,我必须使用Apache POI jar以及jxl jar来实现大量的数据,而我必须在这些文件上实施搜索选项,以便可以在行和列之间进行搜索。 但是在大数据之间遍历需要花费大量时间,有人可以帮我吗,这是任何jar文件或任何其他可用于更快地在Excel文件上进行搜索的概念...

    String searchValue="my_value_to_search";
    for (int i = 0; i < sheet.getColumns(); i++) {
        for (int j = 0; j < sheet.getRows(); j++) {
            value = sheet.getCell(i, j);
            valueType = value.getType();
            String val=getCellType(valueType, value);
            if (val != null&&val==searchValue) {
                //   To do manipulation.
            }
        }
    }

瓶颈通常是一次在内存中表示大型XLSX文件所需的大量内存。 (XLS在设计上不能太大,这通常不是问题)。 要在没有内存问题的情况下搜索非常大的XLSX文件,可以执行以下操作:

  • xlsx文件实际上是一个ZIP存档,您可以将其打开并读取内容,就好像它是一个ZIP文件一样。
  • ZIP内是文件夹“ xl / worksheets”,其中包含sheet1.xml文件(和sheet2.xml等)
  • 您可以使用普通的XmlReader(使用回调来获得最佳性能和最小内存消耗)来解析这些XML文件。

希望能有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM