List of usage examples for org.apache.poi.xssf.eventusermodel XSSFReader getSheetsData
public Iterator<InputStream> getSheetsData() throws IOException, InvalidFormatException
From source file:XLSX2CSV.java
License:Apache License
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();//from w ww . java2 s . com ++index; } close(); }
From source file:adams.data.io.input.ExcelStreamingSpreadSheetReader.java
License:Open Source License
/** * Determines the number of sheets in the file. * // w w w.ja va 2s .c o m * @param file the file to inspec * @return the number of sheets * @throws Exception if reading of file fails */ protected int getSheetCount(File file) throws Exception { int result; OPCPackage pkg; XSSFReader reader; Iterator<InputStream> sheets; InputStream sheet; pkg = OPCPackage.open(file.getAbsolutePath(), PackageAccess.READ); reader = new XSSFReader(pkg); sheets = reader.getSheetsData(); result = 0; while (sheets.hasNext()) { if (m_Stopped) break; sheet = sheets.next(); sheet.close(); result++; } pkg.close(); return result; }
From source file:adams.data.io.input.ExcelStreamingSpreadSheetReader.java
License:Open Source License
/** * Reads the spreadsheet content from the specified file. * * @param file the file to read from/*w w w . j a v a 2s . c om*/ * @return the spreadsheets or null in case of an error */ @Override protected List<SpreadSheet> doReadRange(File file) { List<SpreadSheet> result; int count; OPCPackage pkg; XSSFReader reader; SharedStringsTable sst; XMLReader parser; XSSFReader.SheetIterator sheets; InputStream sheet; SpreadSheet spsheet; InputSource sheetSource; HashSet<Integer> indices; List<String> header; Row rowOld; Row row; int i; result = new ArrayList<>(); try { m_SheetRange.setMax(getSheetCount(file)); indices = new HashSet<>(Utils.toList(m_SheetRange.getIntIndices())); pkg = OPCPackage.open(file.getAbsolutePath(), PackageAccess.READ); reader = new XSSFReader(pkg); sst = reader.getSharedStringsTable(); sheets = (XSSFReader.SheetIterator) reader.getSheetsData(); count = 0; while (sheets.hasNext()) { if (m_Stopped) break; sheet = null; try { sheet = sheets.next(); if (indices.contains(count)) { spsheet = m_SpreadSheetType.newInstance(); spsheet.setDataRowClass(m_DataRowType.getClass()); spsheet.setName(sheets.getSheetName()); parser = XMLReaderFactory.createXMLReader("org.apache.xerces.parsers.SAXParser"); m_Handler = new SheetHandler(this, spsheet, sst); parser.setContentHandler(m_Handler); sheetSource = new InputSource(sheet); parser.parse(sheetSource); // fix header? if (!getCustomColumnHeaders().trim().isEmpty()) { header = SpreadSheetUtils.createHeader(spsheet.getColumnCount(), getCustomColumnHeaders()); row = spsheet.getHeaderRow(); for (i = 0; i < header.size() && i < spsheet.getColumnCount(); i++) row.getCell(i).setContent(header.get(i)); } result.add(spsheet); // missing types? if (m_Handler.getUnknownCellTypes().size() > 0) { getLogger().severe("Unknown cell types: " + m_Handler.getUnknownCellTypes()); for (String type : m_Handler.getUnknownCellTypes()) getLogger().severe("- cell type '" + type + "': " + m_Handler.getUnknownCellTypesExamples().get(type)); } if (m_Handler.getUnknownCellStrings().size() > 0) { getLogger().severe("Unknown cell strings: " + m_Handler.getUnknownCellStrings()); for (String str : m_Handler.getUnknownCellStrings()) getLogger().severe("- cell string '" + str + "': " + m_Handler.getUnknownCellStringsExamples().get(str)); } } } catch (Exception e) { getLogger().log(Level.SEVERE, "Failed to process sheet:", e); } FileUtils.closeQuietly(sheet); count++; } pkg.close(); } catch (ParseStopException e) { getLogger().severe("Parsing stopped!"); result = null; m_LastError = "Failed to read range '" + m_SheetRange + "' from file '" + file + "'!\n" + Utils.throwableToString(e); } catch (Exception e) { getLogger().log(Level.SEVERE, "Failed to read spreadsheet:", e); } m_Handler = null; return result; }
From source file:br.com.mapfre.lv.jobmanager.XLSX2CSV.java
License:Apache License
/** * Initiates the processing of the XLS workbook file to CSV. * * @throws IOException/*www. ja v a 2 s .c o m*/ * @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; } }
From source file:ch.admin.searchreplace.SearchReplaceTerms.java
License:Apache License
private static HashMap<String, String> readSearchReplaceTerms(String input) throws Exception { HashMap<String, String> terms = new HashMap<String, String>(); // The package open is instantaneous, as it should be. OPCPackage xlsxPackage = OPCPackage.open(input, PackageAccess.READ); ReadOnlySharedStringsTable strings = new ReadOnlySharedStringsTable(xlsxPackage); XSSFReader xssfReader = new XSSFReader(xlsxPackage); StylesTable styles = xssfReader.getStylesTable(); XSSFReader.SheetIterator iter = (XSSFReader.SheetIterator) xssfReader.getSheetsData(); InputStream stream = iter.next(); String sheetName = iter.getSheetName(); System.out.println(sheetName); InputSource sheetSource = new InputSource(stream); SAXParserFactory saxFactory = SAXParserFactory.newInstance(); SAXParser saxParser = saxFactory.newSAXParser(); XMLReader sheetParser = saxParser.getXMLReader(); ContentHandler handler = new MyXSSFSheetHandler(styles, strings, terms); sheetParser.setContentHandler(handler); sheetParser.parse(sheetSource);/*from w ww. j ava2 s . com*/ stream.close(); return (terms); }
From source file:ch.admin.searchreplace.XLSX2CSV.java
License:Apache License
/** * Initiates the processing of the XLS workbook file to CSV. * /*from w w w .j av a 2 s . c o m*/ * @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; break; } }
From source file:cn.afterturn.easypoi.excel.imports.sax.SaxReadExcel.java
License:Apache License
private <T> List<T> readExcel(OPCPackage opcPackage, Class<?> pojoClass, ImportParams params, ISaxRowRead rowRead, IReadHandler handler) { try {//from w w w .j a v a 2 s .c o m XSSFReader xssfReader = new XSSFReader(opcPackage); SharedStringsTable sharedStringsTable = xssfReader.getSharedStringsTable(); StylesTable stylesTable = xssfReader.getStylesTable(); if (rowRead == null) { rowRead = new SaxRowRead(pojoClass, params, handler); } XMLReader parser = fetchSheetParser(sharedStringsTable, stylesTable, rowRead); Iterator<InputStream> sheets = xssfReader.getSheetsData(); int sheetIndex = 0; while (sheets.hasNext() && sheetIndex < params.getSheetNum() + params.getStartSheetIndex()) { if (sheetIndex < params.getStartSheetIndex()) { sheets.next(); } else { InputStream sheet = sheets.next(); InputSource sheetSource = new InputSource(sheet); parser.parse(sheetSource); sheet.close(); } sheetIndex++; } if (handler != null) { handler.doAfterAll(); } return rowRead.getList(); } catch (Exception e) { LOGGER.error(e.getMessage(), e); throw new ExcelImportException("SAX?"); } }
From source file:cn.xiaozhi.spider.util.XLSXCovertCSVReader.java
License:Apache License
/** * ??? //from w w w . j av a 2 s. c om * * @throws IOException * @throws OpenXML4JException * @throws ParserConfigurationException * @throws SAXException */ public List<String[]> process() throws IOException, OpenXML4JException, ParserConfigurationException, SAXException { ReadOnlySharedStringsTable strings = new ReadOnlySharedStringsTable(this.xlsxPackage); XSSFReader xssfReader = new XSSFReader(this.xlsxPackage); List<String[]> list = null; StylesTable styles = xssfReader.getStylesTable(); XSSFReader.SheetIterator iter = (XSSFReader.SheetIterator) xssfReader.getSheetsData(); int index = 0; while (iter.hasNext()) { InputStream stream = iter.next(); String sheetNameTemp = iter.getSheetName(); if (this.sheetName.equals(sheetNameTemp)) { list = processSheet(styles, strings, stream); stream.close(); ++index; } } return list; }
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);// w w w .j a va2 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 ww w. ja v a 2 s . c om*/ * @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(); }