Bottleneck is usually the huge amount of memory required to represent large XLSX files in memory at once. (XLS can't be that big by design, this is usually not a problem). To search in a really huge XLSX file without the memory problems, you could do this:
- the xlsx file is in fact a ZIP archive, you can open it and read the contents as if it is a ZIP file.
- inside the ZIP are folder "xl/worksheets" with files sheet1.xml (and sheet2.xml and so on)
- you can parse these XML files using a normal XmlReader (using callbacks for maximum performance and least memory consumption).
Hope that helps.