List of usage examples for org.apache.poi.xssf.eventusermodel XSSFReader XSSFReader
public XSSFReader(OPCPackage pkg) throws IOException, OpenXML4JException
From source file:com.anthill.excelcompare.main.impl.FromHowTo.java
License:Apache License
public void processAllSheets(String filename) throws Exception { OPCPackage pkg = OPCPackage.open(filename); XSSFReader r = new XSSFReader(pkg); SharedStringsTable sst = r.getSharedStringsTable(); XMLReader parser = fetchSheetParser(sst); Iterator<InputStream> sheets = r.getSheetsData(); while (sheets.hasNext()) { System.out.println("Processing new sheet:\n"); InputStream sheet = sheets.next(); InputSource sheetSource = new InputSource(sheet); parser.parse(sheetSource);//from ww w . j a v a 2 s .co m sheet.close(); System.out.println(""); } }
From source file:com.bstek.dorado.importer.policy.impl.XLSX2CSV.java
License:Apache License
/** * Initiates the processing of the XLS workbook file to CSV. * //from www. ja v a 2 s .com * @throws IOException * @throws OpenXML4JException * @throws ParserConfigurationException * @throws SAXException */ public void process() throws IOException, OpenXML4JException, ParserConfigurationException, SAXException { ReadOnlySharedStringsTable strings = new ReadOnlySharedStringsTable(this.xlsxPackage); XSSFReader xssfReader = new XSSFReader(this.xlsxPackage); StylesTable styles = xssfReader.getStylesTable(); XSSFReader.SheetIterator iter = (XSSFReader.SheetIterator) xssfReader.getSheetsData(); int index = 0; while (iter.hasNext()) { InputStream stream = iter.next(); String sheetName = iter.getSheetName(); this.output.println(); this.output.println(sheetName + " [index=" + index + "]:"); processSheet(styles, strings, stream); stream.close(); ++index; } close(); }
From source file:com.daphne.es.showcase.excel.service.ExcelDataService.java
License:Apache License
@Async public void importExcel2007(final User user, final InputStream is) { ExcelDataService proxy = ((ExcelDataService) AopContext.currentProxy()); BufferedInputStream bis = null; try {/*w w w .j a va 2 s . c o m*/ long beginTime = System.currentTimeMillis(); List<ExcelData> dataList = Lists.newArrayList(); bis = new BufferedInputStream(is); OPCPackage pkg = OPCPackage.open(bis); XSSFReader r = new XSSFReader(pkg); XMLReader parser = XMLReaderFactory.createXMLReader(); ContentHandler handler = new Excel2007ImportSheetHandler(proxy, dataList, batchSize); parser.setContentHandler(handler); Iterator<InputStream> sheets = r.getSheetsData(); while (sheets.hasNext()) { InputStream sheet = null; try { sheet = sheets.next(); InputSource sheetSource = new InputSource(sheet); parser.parse(sheetSource); } catch (Exception e) { throw e; } finally { IOUtils.closeQuietly(sheet); } } //??batchSize? if (dataList.size() > 0) { proxy.doBatchSave(dataList); } long endTime = System.currentTimeMillis(); Map<String, Object> context = Maps.newHashMap(); context.put("seconds", (endTime - beginTime) / 1000); notificationApi.notify(user.getId(), "excelImportSuccess", context); } catch (Exception e) { log.error("excel import error", e); Map<String, Object> context = Maps.newHashMap(); context.put("error", e.getMessage()); notificationApi.notify(user.getId(), "excelImportError", context); } finally { IOUtils.closeQuietly(bis); } }
From source file:com.dhenton9000.excel.ExcelParser.java
public SheetResults parse(InputStream inputStream) throws Exception { OPCPackage pkg = OPCPackage.open(inputStream); XSSFReader reader = new XSSFReader(pkg); this.sst = reader.getSharedStringsTable(); SAXParserFactory saxFactory = SAXParserFactory.newInstance(); SAXParser saxParser = saxFactory.newSAXParser(); XMLReader parser = saxParser.getXMLReader(); parser.setContentHandler(this); // There should only be one sheet final Iterator<InputStream> it = reader.getSheetsData(); final InputStream sheet = it.next(); final InputSource sheetSource = new InputSource(sheet); parser.parse(sheetSource);//from ww w . j a v a2 s . c om sheet.close(); return getSheetResults(); }
From source file:com.github.poi.LoadPasswordProtectedXlsxStreaming.java
License:Apache License
public static void main(String[] args) { try {/*from ww w .j av a 2 s .c om*/ if (args.length != 2) { throw new Exception("Expected 2 params: filename and password"); } XlsxUtils.checkTempFiles(); String filename = args[0]; String password = args[1]; try (FileInputStream fis = new FileInputStream(filename); InputStream unencryptedStream = XlsxUtils.decrypt(fis, password); AesZipFileZipEntrySource source = AesZipFileZipEntrySource .createZipEntrySource(unencryptedStream); OPCPackage pkg = OPCPackage.open(source)) { XSSFReader reader = new XSSFReader(pkg); SheetIterator iter = (SheetIterator) reader.getSheetsData(); int count = 0; while (iter.hasNext()) { iter.next(); count++; } System.out.println("sheet count: " + count); } XlsxUtils.checkTempFiles(); } catch (Throwable t) { t.printStackTrace(); } }
From source file:com.googlecode.sqlsheet.stream.XlsxSheetIterator.java
License:Apache License
@Override protected void postConstruct() throws SQLException { try {/* w w w. j av a 2 s . c om*/ //Open and pre process XLSX file xlsxPackage = OPCPackage.open(getFileName().getPath(), PackageAccess.READ); strings = new ReadOnlySharedStringsTable(this.xlsxPackage); XSSFReader xssfReader = new XSSFReader(this.xlsxPackage); styles = xssfReader.getStylesTable(); //Find appropriate sheet XSSFReader.SheetIterator iter = (XSSFReader.SheetIterator) xssfReader.getSheetsData(); while (iter.hasNext()) { InputStream stream = iter.next(); String currentSheetName = iter.getSheetName(); if (currentSheetName.equalsIgnoreCase(getSheetName()) || ("\"" + currentSheetName + "\"").equalsIgnoreCase(getSheetName())) { handler = new XSSFSheetEventHandler(styles, strings); XMLInputFactory factory = XMLInputFactory.newInstance(); reader = factory.createXMLEventReader(stream); //Start sheet processing while (reader.hasNext() && getCurrentSheetRowIndex() == 0) { processNextEvent(); } processNextRecords(); } } } catch (Exception e) { throw new SQLException(e.getMessage(), e); } }
From source file:com.jkoolcloud.tnt4j.streams.inputs.ExcelSXSSFRowStream.java
License:Apache License
/** * Reads XSSF (XLXS) format excel file using Apache POI streaming SXSSF API. * * @param xlsxFile//from www . j a v a 2 s . co m * excel XSSF format file to read * * @throws IOException * if excel file or workbook can't be read * @throws SAXException * if file contained XML reading fails * @throws OpenXML4JException * if file contained XML reading fails */ protected void readXLXS(File xlsxFile) throws IOException, SAXException, OpenXML4JException { try (OPCPackage xlsxPackage = OPCPackage.open(xlsxFile, PackageAccess.READ)) { ReadOnlySharedStringsTable strings = new ReadOnlySharedStringsTable(xlsxPackage); XSSFReader xssfReader = new XSSFReader(xlsxPackage); StylesTable styles = xssfReader.getStylesTable(); XSSFReader.SheetIterator sIter = (XSSFReader.SheetIterator) xssfReader.getSheetsData(); while (sIter.hasNext()) { try (InputStream sStream = sIter.next()) { String sheetName = sIter.getSheetName(); boolean match = sheetNameMatcher == null || sheetNameMatcher.matcher(sheetName).matches(); if (!match) { continue; } SXSSFSheet sheet = new SXSSFSheet(new SXSSFWorkbook(), null); processSXSSFSheet(styles, strings, new XLSXSheetContentHandler(this, sheet), sStream); } } } }
From source file:com.lfwer.common.XLSX2CSV.java
License:Apache License
/** * Initiates the processing of the XLS workbook file to CSV. * * @throws IOException//ww w .j a v a 2 s . c o m * If reading the data from the package fails. * @throws SAXException * if parsing the XML data fails. */ public void process() throws IOException, OpenXML4JException, SAXException { ReadOnlySharedStringsTable strings = new ReadOnlySharedStringsTable(this.xlsxPackage); XSSFReader xssfReader = new XSSFReader(this.xlsxPackage); StylesTable styles = xssfReader.getStylesTable(); XSSFReader.SheetIterator iter = (XSSFReader.SheetIterator) xssfReader.getSheetsData(); int index = 0; while (iter.hasNext()) { InputStream stream = iter.next(); String sheetName = iter.getSheetName(); this.output.println(); this.output.println(sheetName + " [index=" + index + "]:"); processSheet(styles, strings, new SheetToCSV(), stream); stream.close(); ++index; } }
From source file:com.ljh.excel.parser.FromHowTo.java
License:Apache License
public void processFirstSheet(String filename) throws Exception { OPCPackage pkg = OPCPackage.open(filename); XSSFReader r = new XSSFReader(pkg); SharedStringsTable sst = r.getSharedStringsTable(); XMLReader parser = fetchSheetParser(sst); // To look up the Sheet Name / Sheet Order / rID, // you need to process the core Workbook stream. // Normally it's of the form rId# or rSheet# InputStream sheet2 = r.getSheet("rId2"); InputSource sheetSource = new InputSource(sheet2); parser.parse(sheetSource);// ww w. j a v a 2 s. c om sheet2.close(); }
From source file:com.ljh.excel.parser.FromHowTo.java
License:Apache License
public static void processAllSheets(String filename) throws Exception { OPCPackage pkg = OPCPackage.open(filename); XSSFReader r = new XSSFReader(pkg); SharedStringsTable sst = r.getSharedStringsTable(); XMLReader parser = fetchSheetParser(sst); Iterator<InputStream> sheets = r.getSheetsData(); while (sheets.hasNext()) { System.out.println("Processing new sheet:\n"); InputStream sheet = sheets.next(); InputSource sheetSource = new InputSource(sheet); parser.parse(sheetSource);//www . ja v a 2s .c om sheet.close(); System.out.println(""); } }