List of usage examples for org.apache.poi.hssf.eventusermodel MissingRecordAwareHSSFListener MissingRecordAwareHSSFListener
public MissingRecordAwareHSSFListener(HSSFListener listener)
From source file:XLS2CSVmra.java
License:Apache License
/** * Initiates the processing of the XLS file to CSV *//*from w ww . j av a 2 s. c o m*/ public void process() throws IOException { MissingRecordAwareHSSFListener listener = new MissingRecordAwareHSSFListener(this); HSSFEventFactory factory = new HSSFEventFactory(); HSSFRequest request = new HSSFRequest(); request.addListenerForAllRecords(listener); factory.processWorkbookEvents(request, fs); }
From source file:XLS2CSV.java
License:Apache License
/** * Initiates the processing of the XLS file to CSV *///from w w w. ja va 2 s.c o m public void process() throws IOException { MissingRecordAwareHSSFListener listener = new MissingRecordAwareHSSFListener(this); formatListener = new FormatTrackingHSSFListener(listener); HSSFEventFactory factory = new HSSFEventFactory(); HSSFRequest request = new HSSFRequest(); if (outputFormulaValues) { request.addListenerForAllRecords(formatListener); } else { workbookBuildingListener = new SheetRecordCollectingListener(formatListener); request.addListenerForAllRecords(workbookBuildingListener); } factory.processWorkbookEvents(request, fs); close(); }
From source file:cn.sinobest.jzpt.minidemo.poidemo.example.XLS2CSVmra.java
License:Apache License
/** * Initiates the processing of the XLS file to CSV *//*from ww w . j a v a 2s .c om*/ public void process() throws IOException { MissingRecordAwareHSSFListener listener = new MissingRecordAwareHSSFListener(this); formatListener = new FormatTrackingHSSFListener(listener); HSSFEventFactory factory = new HSSFEventFactory(); HSSFRequest request = new HSSFRequest(); if (outputFormulaValues) { request.addListenerForAllRecords(formatListener); } else { workbookBuildingListener = new SheetRecordCollectingListener(formatListener); request.addListenerForAllRecords(workbookBuildingListener); } factory.processWorkbookEvents(request, fs); }
From source file:com.bayareasoftware.chartengine.ds.util.XLS2Data.java
License:Apache License
public void process() throws IOException { MissingRecordAwareHSSFListener listener = new MissingRecordAwareHSSFListener(this); formatListener = new FormatTrackingHSSFListener(listener); HSSFEventFactory factory = new HSSFEventFactory(); HSSFRequest request = new HSSFRequest(); if (outputFormulaValues) { request.addListenerForAllRecords(formatListener); } else {// w w w . java 2 s .c o m workbookBuildingListener = new SheetRecordCollectingListener(formatListener); request.addListenerForAllRecords(workbookBuildingListener); } try { // we can handle this when we only want to read a particular sheet // and use this exception when we've moved beyond that sheet factory.abortableProcessWorkbookEvents(request, fs); } catch (HSSFUserException hssue) { hssue.printStackTrace(); } catch (MaxRowsReachedException re) { System.out.println("aborted? " + re); } // make sure we got the last sheet if (currentSheetName != null && sheet2data.get(currentSheetName) == null) { sheet2data.put(currentSheetName, currentData); } //factory.processWorkbookEvents(request, fs); }
From source file:com.googlecode.sqlsheet.stream.XlsSheetIterator.java
License:Apache License
/** * Initiates the processing//from w w w .j a v a 2s . c o m * - position stream to the right sheet * - extracts columns * - extracts first row */ public void postConstruct() throws SQLException { try { boundSheetRecords = new ArrayList(); sheetIndex = -1; inRequiredSheet = false; outputFormulaValues = true; fileSystem = new NPOIFSFileSystem(getFileName().openStream()); recordStream = new RecordFactoryInputStream(fileSystem.getRoot().createDocumentInputStream("Workbook"), false); MissingRecordAwareHSSFListener listener = new MissingRecordAwareHSSFListener(this); formatListener = new FormatTrackingHSSFListener(listener); requestPublic = new PublicMorozoffHSSFRequest(); if (outputFormulaValues) { requestPublic.addListenerForAllRecords(formatListener); } else { workbookBuildingListener = new EventWorkbookBuilder.SheetRecordCollectingListener(formatListener); requestPublic.addListenerForAllRecords(workbookBuildingListener); } // Process each record as they come in till we get to the right sheet while (!inRequiredSheet) { Record r = recordStream.nextRecord(); if (r == null) { break; } try { short userCode = requestPublic.processRecord(r); if (userCode != 0) { break; } } catch (HSSFUserException e) { throw new RuntimeException(e.getMessage(), e); } } //Flush rows counter setCurrentSheetRowIndex(0L); //Fill current row processNextRecords(); } catch (IOException e) { throw new SQLException(e.getMessage(), e); } }
From source file:com.sonicle.webtop.core.io.input.XlsBaseProcessor.java
License:Open Source License
public XlsBaseProcessor(InputStream is) { this.is = is; hssfListener = new MissingRecordAwareHSSFListener(this); formatTrackingListener = new FormatTrackingHSSFListener(hssfListener); }
From source file:com.toolsverse.etl.connector.excel.ExcelConnector.java
License:Open Source License
public ConnectorResult populate(ExcelConnectorParams params, DataSet dataSet, Driver driver) throws Exception { if (dataSet == null || params == null || Utils.isNothing(dataSet.getName()) || (driver == null && dataSet.getDriver() == null)) { ConnectorResult result = new ConnectorResult(); result.setRetCode(ConnectorResult.VALIDATION_FAILED_CODE); if (dataSet == null) result.addResult(ConnectorResource.VALIDATION_ERROR_DATA_SET_NULL.getValue()); if (driver == null && dataSet.getDriver() == null) result.addResult(ConnectorResource.VALIDATION_ERROR_DRIVER_NULL.getValue()); if (params == null) result.addResult(ConnectorResource.VALIDATION_ERROR_PARAMS_NULL.getValue()); if (dataSet != null && Utils.isNothing(dataSet.getName())) result.addResult(ConnectorResource.VALIDATION_ERROR_DATA_SET_NO_NAME.getValue()); return result; }// w ww . ja v a 2 s .c o m dataSet.clear(); driver = driver != null ? driver : dataSet.getDriver(); if (!params.isSilent()) Logger.log(Logger.INFO, EtlLogger.class, EtlResource.LOADING_DATASET_MSG.getValue() + dataSet.getName() + "..."); FileInputStream fin = null; POIFSFileSystem poifs = null; try { String fileName = null; if (params.getInputStream() == null) { fileName = SystemConfig.instance().getPathUsingAppFolders(params.getFileName( dataSet.getOwnerName() != null ? dataSet.getOwnerName() : dataSet.getName(), ".xls", true)); fin = new FileInputStream(fileName); poifs = new POIFSFileSystem(fin); } else poifs = new POIFSFileSystem(params.getInputStream()); XlsProcessor xlsProcessor = new XlsProcessor(params, dataSet, driver); MissingRecordAwareHSSFListener listener = new MissingRecordAwareHSSFListener(xlsProcessor); FormatTrackingHSSFListener formatListener = new FormatTrackingHSSFListener(listener); xlsProcessor.setFormatListener(formatListener); HSSFRequest request = new HSSFRequest(); request.addListenerForAllRecords(formatListener); HSSFEventFactory factory = new HSSFEventFactory(); try { factory.processWorkbookEvents(request, poifs); } catch (Exception ex) { if (!params.isMaxRowsExceededException(ex) && !params.isSheetAlreadyExatractedException(ex)) throw ex; } if (dataSet.getFieldCount() > 0 && dataSet.getRecordCount() == 0 && params.getAddRecordCallback() != null) { params.getAddRecordCallback().onAddRecord(dataSet, driver, null, 0); } ConnectorResult connectorResult = new ConnectorResult(); connectorResult.addResult(Utils.format(FileConnectorResource.FILE_POPULATED.getValue(), new String[] { FilenameUtils.getName(fileName) })); return connectorResult; } finally { if (fin != null) fin.close(); if (params.getInputStream() != null && params.isCloseInput()) params.getInputStream().close(); if (params.getAfterCallback() != null) params.getAfterCallback().onAfter(dataSet, driver); } }
From source file:com.vaadin.addon.tableexport.XLS2CSVmra.java
License:Apache License
/** * Initiates the processing of the XLS file to CSV *//*from ww w .j ava 2 s .c o m*/ public void process() throws IOException { final MissingRecordAwareHSSFListener listener = new MissingRecordAwareHSSFListener(this); formatListener = new FormatTrackingHSSFListener(listener); final HSSFEventFactory factory = new HSSFEventFactory(); final HSSFRequest request = new HSSFRequest(); if (outputFormulaValues) { request.addListenerForAllRecords(formatListener); } else { workbookBuildingListener = new SheetRecordCollectingListener(formatListener); request.addListenerForAllRecords(workbookBuildingListener); } factory.processWorkbookEvents(request, fs); }
From source file:org.datagator.tools.importer.impl.XlsxInputStreamExtractor.java
License:Apache License
public XlsxInputStreamExtractor(InputStream stream) throws IOException { super(stream); _queue = new ArrayBlockingQueue<ImmutablePair<AtomType, Object>>(MAX_QUEUE_CAPACITY); final HSSFRequest request = new HSSFRequest(); request.addListenerForAllRecords(new MissingRecordAwareHSSFListener(new EventTransformer(_queue))); final HSSFEventFactory factory = new HSSFEventFactory(); factory.processEvents(request, stream); }
From source file:org.jberet.support.io.ExcelEventItemReader.java
License:Open Source License
@Override protected void initWorkbookAndSheet(final int startRowNumber) throws Exception { queue = new ArrayBlockingQueue<Object>(queueCapacity == 0 ? MAX_WORKSHEET_ROWS : queueCapacity); final POIFSFileSystem poifs = new POIFSFileSystem(inputStream); // get the Workbook (excel part) stream in a InputStream documentInputStream = poifs.createDocumentInputStream("Workbook"); final HSSFRequest req = new HSSFRequest(); final MissingRecordAwareHSSFListener missingRecordAwareHSSFListener = new MissingRecordAwareHSSFListener( new HSSFListenerImpl(this)); /*// ww w. j a v a2 s .c o m * Need to use English locale her because Jackson double parsing might break in certain regions * where ',' is used as decimal separator instead of '.'. */ formatListener = new FormatTrackingHSSFListener(missingRecordAwareHSSFListener, Locale.ENGLISH); req.addListenerForAllRecords(formatListener); final HSSFEventFactory factory = new HSSFEventFactory(); if (objectMapper == null) { initJsonFactoryAndObjectMapper(); } new Thread(new Runnable() { @Override public void run() { try { factory.processEvents(req, documentInputStream); } catch (final ReadCompletedException e) { SupportLogger.LOGGER.tracef("Completed reading %s%n", resource); } } }).start(); }