使用javasearchxlsx和xls文件

我有一个大型的xlsx文件,其中我必须实现search选项的海量数据我已经使用Apache POI jar以及jxl jar,以便在行和列之间进行search。 但是,在大数据之间花费很多时间,有些人可以帮助我,也就是任何jar文件或者其他可用于Excel文件search的概念。

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不可能是那么大的devise,这通常不是问题)。 要search一个真正巨大的XLSX文件没有内存问题,你可以这样做:

  • xlsx文件实际上是一个ZIP压缩文件,您可以打开它并像读取ZIP文件一样读取内容。
  • 里面的ZIP文件夹“xl /工作表”与文件sheet1.xml(和sheet2.xml等)
  • 您可以使用普通的XmlReaderparsing这些XML文件(使用callback来获得最大的性能和最less的内存消耗)。

希望有所帮助。