xssfReader = reader; sheetId = sheetID; sst = reader.getSharedStringsTable(); styles = reader.getStylesTable(); sheetStream = reader.getSheet( sheetID );
private XSSFReader mockXSSFReader( final String sheetId, final String sheetContent, final SharedStringsTable sst, final StylesTable styles ) throws Exception { XSSFReader reader = mock( XSSFReader.class ); when( reader.getSharedStringsTable() ).thenReturn( sst ); when( reader.getStylesTable() ).thenReturn( styles ); when( reader.getSheet( sheetId ) ).thenAnswer( new Answer<InputStream>() { public InputStream answer( InvocationOnMock invocation ) throws Throwable { return IOUtils.toInputStream( sheetContent, "UTF-8" ); } } ); return reader; }
this.sharedStringsTable = xssfReader.getSharedStringsTable();
this.sharedStringsTable = xssfReader.getSharedStringsTable();
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); } }
final OPCPackage pkg = OPCPackage.open(getFileName()); final XSSFReader r = new XSSFReader(pkg); final SharedStringsTable sst = r.getSharedStringsTable(); final XMLReader parser = fetchSheetParser(sst); final Iterator<InputStream> sheets = r.getSheetsData(); while (sheets.hasNext()) { final InputStream sheet = sheets.next(); final InputSource sheetSource = new InputSource(sheet); parser.parse(sheetSource); sheet.close(); }
OPCPackage pkg = OPCPackage.open(filename); XSSFReader r = new XSSFReader( pkg ); SharedStringsTable sst = r.getSharedStringsTable(); Iterator<InputStream> sheets = r.getSheetsData(); while(sheets.hasNext()) { System.out.println("Processing new sheet:\n"); InputStream sheet = sheets.next(); // Process sheet XML here sheet.close(); }
public XExcelFileReader(final String excelPath) throws Exception { this.opcPkg = OPCPackage.open(excelPath, PackageAccess.READ); XSSFReader xssfReader = new XSSFReader(this.opcPkg); this.stringsTable = xssfReader.getSharedStringsTable(); XMLInputFactory factory = XMLInputFactory.newInstance(); InputStream inputStream = xssfReader.getSheetsData().next(); this.xmlReader = factory.createXMLStreamReader(inputStream); while (this.xmlReader.hasNext()) { this.xmlReader.next(); if (this.xmlReader.isStartElement()) { if (this.xmlReader.getLocalName().equals("sheetData")) { break; } } } }
public XlsxSheetToRowsHandler(XlsxRowCallback callback, XSSFReader xssfReader, ExcelConfiguration configuration) throws Exception { _callback = callback; _configuration = configuration; _sharedStringTable = xssfReader.getSharedStringsTable(); _stylesTable = xssfReader.getStylesTable(); _value = new StringBuilder(); _style = new StyleBuilder(); _rowValues = new ArrayList<String>(); _styles = new ArrayList<Style>(); _rowNumber = -1; _inCell = false; _inFormula = false; }
public XlsxSheetToRowsHandler(XlsxRowCallback callback, XSSFReader xssfReader, ExcelConfiguration configuration) throws Exception { _callback = callback; _configuration = configuration; _sharedStringTable = xssfReader.getSharedStringsTable(); _stylesTable = xssfReader.getStylesTable(); _value = new StringBuilder(); _style = new StyleBuilder(); _rowValues = new ArrayList<String>(); _styles = new ArrayList<Style>(); _rowNumber = -1; _inCell = false; _inFormula = false; }
public XlsxSheetToRowsHandler(XlsxRowCallback callback, XSSFReader xssfReader, ExcelConfiguration configuration) throws Exception { _callback = callback; _configuration = configuration; _sharedStringTable = xssfReader.getSharedStringsTable(); _stylesTable = xssfReader.getStylesTable(); _value = new StringBuilder(); _style = new StyleBuilder(); _rowValues = new ArrayList<String>(); _styles = new ArrayList<Style>(); _rowNumber = -1; _inCell = false; _inFormula = false; }
public void processSheet(InputStream inputStream, DataTable dataTable, PrintWriter tempOut) throws Exception { dbglog.info("entering processSheet"); OPCPackage pkg = OPCPackage.open(inputStream); XSSFReader r = new XSSFReader(pkg); SharedStringsTable sst = r.getSharedStringsTable(); XMLReader parser = fetchSheetParser(sst, dataTable, tempOut); // rId2 found by processing the Workbook // Seems to either be rId# or rSheet# InputStream sheet1 = r.getSheet("rId1"); InputSource sheetSource = new InputSource(sheet1); parser.parse(sheetSource); sheet1.close(); }
public void processAllSheets(String filename) throws Exception { try (OPCPackage pkg = OPCPackage.open(filename, PackageAccess.READ)) { 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"); try (InputStream sheet = sheets.next()) { InputSource sheetSource = new InputSource(sheet); parser.parse(sheetSource); } System.out.println(""); } } }
public void processFirstSheet(String filename) throws Exception { try (OPCPackage pkg = OPCPackage.open(filename, PackageAccess.READ)) { XSSFReader r = new XSSFReader(pkg); SharedStringsTable sst = r.getSharedStringsTable(); XMLReader parser = fetchSheetParser(sst); // process the first sheet try (InputStream sheet = r.getSheetsData().next()) { InputSource sheetSource = new InputSource(sheet); parser.parse(sheetSource); } } }
OPCPackage opc = OPCPackage.open(file); XSSFReader xssfReader = new XSSFReader(opc); SharedStringsTable sst = xssfReader.getSharedStringsTable(); XSSFReader.SheetIterator itr = (XSSFReader.SheetIterator)xssfReader.getSheetsData(); while(itr.hasNext()) { InputStream sheetStream = itr.next(); if(itr.getSheetName().equals(sheetName)) { // Or you can keep track of sheet numbers in = sheetStream; return; } else { sheetStream.close(); } }
/** * 遍历工作簿中所有的电子表格 * * @param filename * @throws Exception */ public void process(InputStream stream) throws Exception { OPCPackage pkg = OPCPackage.open(stream); XSSFReader r = new XSSFReader(pkg); SharedStringsTable sst = r.getSharedStringsTable(); XMLReader parser = fetchSheetParser(sst); Iterator<InputStream> sheets = r.getSheetsData(); while (sheets.hasNext()) { curRow = 0; sheetIndex++; InputStream sheet = sheets.next(); InputSource sheetSource = new InputSource(sheet); parser.parse(sheetSource); sheet.close(); } }
private void processAll(OPCPackage pkg) throws IOException, OpenXML4JException, SAXException { XSSFReader xssfReader = new XSSFReader(pkg); mStylesTable = xssfReader.getStylesTable(); SharedStringsTable sst = xssfReader.getSharedStringsTable(); XMLReader parser = fetchSheetParser(sst); Iterator<InputStream> sheets = xssfReader.getSheetsData(); while (sheets.hasNext()) { mCurrentRowIndex = 0; mCurrentSheetIndex++; InputStream sheet = sheets.next(); InputSource sheetSource = new InputSource(sheet); parser.parse(sheetSource); sheet.close(); } pkg.close(); }
private void processBySheet(int sheetIndex, OPCPackage pkg) throws IOException, OpenXML4JException, SAXException { XSSFReader r = new XSSFReader(pkg); SharedStringsTable sst = r.getSharedStringsTable(); XMLReader parser = fetchSheetParser(sst); // 根据 rId# 或 rSheet# 查找sheet InputStream sheet = r.getSheet(Const.SAX_RID_PREFIX + (sheetIndex + 1)); mCurrentSheetIndex++; InputSource sheetSource = new InputSource(sheet); try { parser.parse(sheetSource); } catch (ExcelKitEncounterNoNeedXmlException e) { sheet = r.getSheet(Const.SAX_RID_PREFIX + (sheetIndex + 3)); sheetSource = new InputSource(sheet); parser.parse(sheetSource); } sheet.close(); pkg.close(); }
/** * 只遍历一个电子表格,其中sheetId为要遍历的sheet索引,从1开始,1-3 * * @param filename * @param sheetId * @throws Exception */ public void processOneSheet(String filename, int sheetId) throws Exception { OPCPackage pkg = OPCPackage.open(filename); XSSFReader r = new XSSFReader(pkg); SharedStringsTable sst = r.getSharedStringsTable(); XMLReader parser = fetchSheetParser(sst); // 根据 rId# 或 rSheet# 查找sheet InputStream sheet2 = r.getSheet("rId" + sheetId); sheetIndex++; InputSource sheetSource = new InputSource(sheet2); parser.parse(sheetSource); sheet2.close(); }
@Override public Object[][] getCells(SheetDescriptor sheet) throws ExcelParseException { SAXSheetDescriptor saxSheet = (SAXSheetDescriptor) sheet; try (OPCPackage pkg = OPCPackage.open(fileName, PackageAccess.READ)) { XSSFReader r = new XSSFReader(pkg); initializeNeededData(r, pkg); XMLReader parser = SAXHelper.newXMLReader(); SheetHandler handler = new SheetHandler(r.getSharedStringsTable(), use1904Windowing, styleTable, parserDateUtil); parser.setContentHandler(handler); try (InputStream sheetData = r.getSheet(saxSheet.getRelationId())) { parser.parse(new InputSource(sheetData)); } CellAddress start = handler.getStart(); saxSheet.setFirstRowNum(start.getRow()); saxSheet.setFirstColNum(start.getColumn()); return handler.getCells(); } catch (IOException | OpenXML4JException | SAXException | ParserConfigurationException e) { throw new ExcelParseException(e); } }