reader = new XSSFReader( pkg ); sheetNameIDMap = new LinkedHashMap<String, String>(); workbookData = reader.getWorkbookData(); XMLInputFactory factory = XMLInputFactory.newInstance(); workbookReader = factory.createXMLStreamReader( workbookData );
public XlsxSaxAnalyser(AnalysisContext analysisContext) throws IOException, OpenXML4JException, XmlException { this.analysisContext = analysisContext; analysisContext.setCurrentRowNum(0); this.xssfReader = new XSSFReader(OPCPackage.open(analysisContext.getInputStream())); this.sharedStringsTable = this.xssfReader.getSharedStringsTable(); InputStream workbookXml = xssfReader.getWorkbookData(); WorkbookDocument ctWorkbook = WorkbookDocument.Factory.parse(workbookXml); CTWorkbook wb = ctWorkbook.getWorkbook(); CTWorkbookPr prefix = wb.getWorkbookPr(); if (prefix != null) { this.use1904WindowDate = prefix.getDate1904(); } this.analysisContext.setUse1904WindowDate(use1904WindowDate); XSSFReader.SheetIterator ite; sheetSourceList = new ArrayList<SheetSource>(); ite = (XSSFReader.SheetIterator)xssfReader.getSheetsData(); while (ite.hasNext()) { InputStream inputStream = ite.next(); String sheetName = ite.getSheetName(); SheetSource sheetSource = new SheetSource(sheetName, inputStream); sheetSourceList.add(sheetSource); } }
void lookupSheetNames(XSSFReader reader) throws IOException, InvalidFormatException { sheetProperties.clear(); NodeList nl = searchForNodeList(document(reader.getWorkbookData()), "/ss:workbook/ss:sheets/ss:sheet"); for(int i = 0; i < nl.getLength(); i++) { Map<String, String> props = new HashMap<>(); props.put("name", nl.item(i).getAttributes().getNamedItem("name").getTextContent()); Node state = nl.item(i).getAttributes().getNamedItem("state"); props.put("state", state == null ? "visible" : state.getTextContent()); sheetProperties.add(props); } }
private void buildTables(final XSSFReader xssfReader, final XlsxWorkbookToTablesHandler workbookToTables) throws Exception { final InputStream workbookData = xssfReader.getWorkbookData(); final XMLReader workbookParser = ExcelUtils.createXmlReader(); workbookParser.setContentHandler(workbookToTables); workbookParser.parse(new InputSource(workbookData)); FileHelper.safeClose(workbookData); } }
private void buildTables(final XSSFReader xssfReader, final XlsxWorkbookToTablesHandler workbookToTables) throws Exception { final InputStream workbookData = xssfReader.getWorkbookData(); final XMLReader workbookParser = ExcelUtils.createXmlReader(); workbookParser.setContentHandler(workbookToTables); workbookParser.parse(new InputSource(workbookData)); FileHelper.safeClose(workbookData); } }
private void buildTables(final XSSFReader xssfReader, final XlsxWorkbookToTablesHandler workbookToTables) throws Exception { final InputStream workbookData = xssfReader.getWorkbookData(); final XMLReader workbookParser = ExcelUtils.createXmlReader(); workbookParser.setContentHandler(workbookToTables); workbookParser.parse(new InputSource(workbookData)); FileHelper.safeClose(workbookData); } }
void loadSheets(XSSFReader reader, SharedStringsTable sst, StylesTable stylesTable, int rowCacheSize) throws IOException, InvalidFormatException, XMLStreamException { lookupSheetNames(reader.getWorkbookData()); Iterator<InputStream> iter = reader.getSheetsData(); int i = 0; while (iter.hasNext()) { XMLEventReader parser = XMLInputFactory.newInstance().createXMLEventReader(iter.next()); if(i < sheetNames.size()) { sheets.add(new StreamingSheet(sheetNames.get(i++), new StreamingSheetReader(sst, stylesTable, parser, rowCacheSize))); } } }
void loadSheets(XSSFReader reader, SharedStringsTable sst, StylesTable stylesTable, int rowCacheSize) throws IOException, InvalidFormatException, XMLStreamException { lookupSheetNames(reader.getWorkbookData()); Iterator<InputStream> iter = reader.getSheetsData(); int i = 0; while (iter.hasNext()) { XMLEventReader parser = XMLInputFactory.newInstance().createXMLEventReader(iter.next()); if(i < sheetNames.size()) { sheets.add(new StreamingSheet(sheetNames.get(i++), new StreamingSheetReader(sst, stylesTable, parser, rowCacheSize))); } } }
index = -1; NodeList nl = searchForNodeList(document(reader.getWorkbookData()), "/ss:workbook/ss:sheets/ss:sheet"); for(int i = 0; i < nl.getLength(); i++) { if(Objects.equals(nl.item(i).getAttributes().getNamedItem("name").getTextContent(), sheetName)) {
try (InputStream wbData = xssfReader.getWorkbookData()) { XMLReaderUtils.parseSAX(wbData, new OfflineContentHandler(new AbsPathExtractorHandler()), parseContext); } catch (InvalidFormatException|TikaException e) {
@Override public List<SAXSheetDescriptor> getSheets() throws ExcelParseException { if (sheets == null) { try (OPCPackage pkg = OPCPackage.open(fileName, PackageAccess.READ)) { XMLReader parser = SAXHelper.newXMLReader(); WorkbookHandler handler = new WorkbookHandler(); parser.setContentHandler(handler); // process the first sheet XSSFReader r = new XSSFReader(pkg); try (InputStream workbookData = r.getWorkbookData()) { parser.parse(new InputSource(workbookData)); } use1904Windowing = handler.isUse1904Windowing(); sheets = handler.getSheetDescriptors(); } catch (IOException | OpenXML4JException | SAXException | ParserConfigurationException e) { throw new ExcelParseException(e); } } return sheets; }
protected <T> void unmarshal0(Class<T> type, Consumer<? super T> consumer, OPCPackage open) throws ParserConfigurationException, IOException, SAXException, OpenXML4JException { ReadOnlySharedStringsTable readOnlySharedStringsTable = new ReadOnlySharedStringsTable(open); XSSFReader workbookReader = new XSSFReader(open); StylesTable styles = workbookReader.getStylesTable(); XMLReader reader = SAXHelper.newXMLReader(); InputSource is = new InputSource(workbookReader.getWorkbookData()); reader.setContentHandler(new WorkBookContentHandler(options)); reader.parse(is); WorkBookContentHandler wbch = (WorkBookContentHandler) reader.getContentHandler(); List<WorkBookSheet> sheets = wbch.getSheets(); int requestedIndex = options.sheetIndex(); int nonHiddenSheetIndex = 0; int sheetCounter = 0; SheetIterator iter = (SheetIterator) workbookReader.getSheetsData(); while (iter.hasNext()) { try (InputStream stream = iter.next()) { WorkBookSheet wbs = sheets.get(sheetCounter); if (wbs.getState().equals("visible")) { if (nonHiddenSheetIndex == requestedIndex) { processSheet(styles, reader, readOnlySharedStringsTable, type, stream, consumer); return; } nonHiddenSheetIndex++; } } sheetCounter++; } }
NodeList workbookPr = searchForNodeList(document(reader.getWorkbookData()), "/ss:workbook/ss:workbookPr"); if(workbookPr.getLength() == 1) { final Node date1904 = workbookPr.item(0).getAttributes().getNamedItem("date1904");
NodeList workbookPr = searchForNodeList(document(reader.getWorkbookData()), "/ss:workbook/ss:workbookPr"); if (workbookPr.getLength() == 1) { final Node date1904 = workbookPr.item(0).getAttributes().getNamedItem("date1904");
/** * Create instance * @param inputStream sheet input stream * @param pluginConfig config options * @param writer {@link VectorContainerWriter} for writing values into vectors. * @param managedBuf Workspace buffer. */ public StAXBasedParser(final InputStream inputStream, final ExcelFormatPluginConfig pluginConfig, final VectorContainerWriter writer, final ArrowBuf managedBuf, final HashSet<String> columnsToProject) throws Exception { pkgInputStream = OPCPackage.open(inputStream); this.writer = writer.rootAsStruct(); this.managedBuf = managedBuf; final XSSFReader xssfReader = new XSSFReader(pkgInputStream); // Find the sheet id of the given sheet name in workbook try (final InputStream wbInputStream = xssfReader.getWorkbookData()) { final String sheetId = ExcelUtil.getSheetId(wbInputStream, pluginConfig.sheet); if (sheetId == null) { throw new SheetNotFoundException(); } // Open the InputStream for sheet sheetInputStream = xssfReader.getSheet(sheetId); } // WARNING: XSSFReader can actually return null instances of sst and styles sst = xssfReader.getSharedStringsTable(); styles = checkNotNull(xssfReader.getStylesTable(), "Expected a valid styles table instance"); init(pluginConfig.extractHeader, pluginConfig.hasMergedCells); this.columnsToProject = columnsToProject; }
InputStream workbookDataXML = r.getWorkbookData(); WorkbookDocument wd = WorkbookDocument.Factory.parse(workbookDataXML); this.isDate1904 = wd.getWorkbook().getWorkbookPr().getDate1904();
try (InputStream wbData = xssfReader.getWorkbookData()) { XMLReaderUtils.parseSAX(wbData, new OfflineContentHandler(new AbsPathExtractorHandler()), parseContext); } catch (InvalidFormatException|TikaException e) {