Bug 361443 Excel ODA
data/org.eclipse.birt.report.data.oda.excel/src/org/eclipse/birt/report/data/oda/excel/impl/util/XlsxFileReader.java
XMLReader parser = fetchWorkbookParser(sheetMap);
			parser.parse(wbSource);
		} finally {
			if (wbData != null)
				wbData.close();
		}
		return sheetMap;
	}
	public void processSheet(String rid, XlsxRowCallBack callback, int xlsxRowsToRead)
			throws InvalidFormatException, IOException, SAXException {
		SharedStringsTable sst = reader.getSharedStringsTable();
		StylesTable st = reader.getStylesTable();
		XMLReader parser = fetchSheetParser(st, sst, callback, xlsxRowsToRead);
		InputStream sheet = reader.getSheet(rid);
		try {
			InputSource sheetSource = new InputSource(sheet);
			parser.parse(sheetSource);
		} finally {
			if (sheet != null)
				sheet.close();
		}
	}
	private XMLReader fetchSheetParser(StylesTable st, SharedStringsTable sst,
			XlsxRowCallBack callback, int xlsxRowsToRead) throws SAXException {
		XMLReader parser = XMLReaderFactory
				.createXMLReader( PARSER_CLASS_NAME );
		ContentHandler handler = new SheetHandler(st, sst, callback, xlsxRowsToRead);
		parser.setContentHandler(handler);
		return parser;
	}