import java.io.File; import java.io.InputStream; import java.io.FileInputStream; import org.apache.poi.poifs.filesystem.POIFSFileSystem; import org.apache.poi.hssf.eventmodel.*; import org.apache.poi.hssf.eventusermodel.*; import org.apache.poi.hssf.record.SSTRecord; import org.apache.poi.hssf.record.Record; public class DoTest { class TestHandler implements HSSFListener { private SSTRecord sst = null; public void processRecord(Record record) { switch (record.getSid()) { case SSTRecord.sid: sst = (SSTRecord) record; for (int i = 0; i < sst.getNumUniqueStrings(); i++) { System.out.println("--\nGetting: "+i); System.out.println(sst.getString(i)); System.out.println("--"); } break; default: break; } } } public void processFile(File file) throws Exception { InputStream fis = null; try { fis = new FileInputStream(file); POIFSFileSystem pfs = new POIFSFileSystem(fis); HSSFRequest req = new HSSFRequest(); req.addListenerForAllRecords(new TestHandler()); HSSFEventFactory factory = new HSSFEventFactory(); factory.processWorkbookEvents(req, pfs); } finally { try { if (fis != null) { fis.close(); } } catch (Exception e) { } } } public static void main(String[] args) throws Exception { DoTest dt = new DoTest(); dt.processFile(new File(args[0])); } }