List of usage examples for org.apache.poi.xssf.eventusermodel XSSFReader XSSFReader
public XSSFReader(OPCPackage pkg) throws IOException, OpenXML4JException
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 w w .java 2s. c om ++index; } close(); }
From source file:adams.data.io.input.ExcelStreamingSpreadSheetReader.java
License:Open Source License
/** * Determines the number of sheets in the file. * /* www. j a v a2 s . 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/*from w w w .j a v a 2 s . c o m*/ * @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/* w w w . j av 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:ca.tsc.special_request_tool.testing.FromHowTo.java
License:Apache License
public void processOneSheet(String filename, InfoHolder holder) throws Exception { OPCPackage pkg = OPCPackage.open(new File(filename)); XSSFReader r = new XSSFReader(pkg); SharedStringsTable sst = r.getSharedStringsTable(); XMLReader parser = fetchSheetParser(sst, holder); // rId2 found by processing the Workbook // Seems to either be rId# or rSheet# InputStream sheet2 = r.getSheet("rId2"); InputSource sheetSource = new InputSource(sheet2); parser.parse(sheetSource);/*from w w w. ja va 2 s .c o m*/ sheet2.close(); }
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);/* w w w . j a va 2s .c o m*/ 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 ww .j a 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; 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 {// w w w .jav 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 .ja v 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 processOneSheet(String filename) throws Exception { OPCPackage pkg = OPCPackage.open(filename); XSSFReader r = new XSSFReader(pkg); SharedStringsTable sst = r.getSharedStringsTable(); XMLReader parser = fetchSheetParser(sst); // rId2 found by processing the Workbook // Seems to either be rId# or rSheet# InputStream sheet2 = r.getSheet("rId2"); InputSource sheetSource = new InputSource(sheet2); parser.parse(sheetSource);/* ww w . jav a 2 s . c o m*/ sheet2.close(); }