Example usage for org.apache.poi.poifs.filesystem POIFSFileSystem POIFSFileSystem

List of usage examples for org.apache.poi.poifs.filesystem POIFSFileSystem POIFSFileSystem

Introduction

In this page you can find the example usage for org.apache.poi.poifs.filesystem POIFSFileSystem POIFSFileSystem.

Prototype


public POIFSFileSystem(InputStream stream) throws IOException 

Source Link

Document

Create a POIFSFileSystem from an InputStream.

Usage

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;

    }/*from w ww  .  jav  a  2 s  .co  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.toolsverse.etl.metadata.excel.ExcelFileMetadata.java

License:Open Source License

@Override
public DataSet getTablesByType(InputStream inputSteam, String name, String pattern, String type)
        throws Exception {
    DataSet dataSet = new DataSet();
    dataSet.setName("tables");

    FieldDef fieldDef = new FieldDef();
    fieldDef.setName("File");
    fieldDef.setSqlDataType(Types.VARCHAR);
    dataSet.addField(fieldDef);//from  ww w  .  j av  a 2s.c  o  m

    fieldDef = new FieldDef();
    fieldDef.setName("Name");
    fieldDef.setSqlDataType(Types.VARCHAR);
    dataSet.addField(fieldDef);

    dataSet.setKeyFields("Name");

    InputStream din = null;

    try {
        POIFSFileSystem poifs = new POIFSFileSystem(inputSteam);
        din = poifs.createDocumentInputStream("Workbook");
        HSSFRequest req = new HSSFRequest();

        req.addListenerForAllRecords(new SheetReader(name, dataSet));
        HSSFEventFactory factory = new HSSFEventFactory();

        try {
            factory.processEvents(req, din);
        } catch (Exception ex) {
            if (!Utils.isParticularException(ex, SHEETS_EXTRACTED_EXCEPTION))
                throw ex;
        }
    } finally {
        if (din != null)
            din.close();
    }

    return dataSet;
}

From source file:com.toolsverse.etl.metadata.excel.ExcelFileMetadata.java

License:Open Source License

@Override
public DataSet getTablesByType(String catalog, String schema, String pattern, String type) throws Exception {
    DataSet dataSet = new DataSet();
    dataSet.setName(TABLES_DATASET_TYPE);

    FieldDef fieldDef = new FieldDef();
    fieldDef.setName("File");
    fieldDef.setSqlDataType(Types.VARCHAR);
    dataSet.addField(fieldDef);//from w  w w .j  a  v a 2s  .  c  o m

    fieldDef = new FieldDef();
    fieldDef.setName("Name");
    fieldDef.setSqlDataType(Types.VARCHAR);
    dataSet.addField(fieldDef);

    dataSet.setKeyFields("Name");

    FileInputStream fin = null;
    InputStream din = null;

    try {
        fin = new FileInputStream(catalog);
        POIFSFileSystem poifs = new POIFSFileSystem(fin);
        din = poifs.createDocumentInputStream("Workbook");
        HSSFRequest req = new HSSFRequest();

        req.addListenerForAllRecords(new SheetReader(catalog, dataSet));
        HSSFEventFactory factory = new HSSFEventFactory();

        try {
            factory.processEvents(req, din);
        } catch (Exception ex) {
            if (!Utils.isParticularException(ex, SHEETS_EXTRACTED_EXCEPTION))
                throw ex;
        }
    } finally {
        if (fin != null)
            fin.close();
        if (din != null)
            din.close();
    }

    return dataSet;
}

From source file:com.tsm.xlstocsv.XlsToCsv.java

License:Apache License

/**
 * Creates a new XLS -> CSV converter
 * @param filename The file to process/*from w w  w .  ja  v a 2  s  .co m*/
 * @param minColumns The minimum number of columns to output, or -1 for no minimum
 * @throws IOException
 * @throws FileNotFoundException
 */
public XlsToCsv(String filename, int minColumns) throws IOException, FileNotFoundException {
    this(new POIFSFileSystem(new FileInputStream(filename)), new StandardOutputDispatcher(), minColumns);
}

From source file:com.tsm.xlstocsv.XlsToCsv.java

License:Apache License

/**
 * Creates a new XLS -> CSV converter
 * @param filename The file to process/*from  ww  w  . j a  v  a  2  s  .  c o  m*/
 * @param minColumns The minimum number of columns to output, or -1 for no minimum
 * @throws IOException
 * @throws FileNotFoundException
 */
public XlsToCsv(String filename, OutputDispatcher dispatcher, int minColumns)
        throws IOException, FileNotFoundException {
    this(new POIFSFileSystem(new FileInputStream(filename)), dispatcher, minColumns);
}

From source file:com.vaadin.addon.tableexport.XLS2CSVmra.java

License:Apache License

/**
 * Creates a new XLS -> CSV converter
 * /*www .java  2s  . c om*/
 * @param filename
 *            The file to process
 * @param minColumns
 *            The minimum number of columns to output, or -1 for no minimum
 * @throws IOException
 * @throws FileNotFoundException
 */
public XLS2CSVmra(final String filename, final int minColumns) throws IOException, FileNotFoundException {
    this(new POIFSFileSystem(new FileInputStream(filename)), System.out, minColumns);
}

From source file:com.vportal.portlet.vdoc.action.VDocManage.java

License:Open Source License

public void exportToExcel(ActionRequest request, ActionResponse response) throws IOException {
    int fromDay = ParamUtil.getInteger(request, "fromDay");
    int fromMonth = ParamUtil.getInteger(request, "fromMonth");
    int fromYear = ParamUtil.getInteger(request, "fromYear");
    String cmd = ParamUtil.getString(request, "cmd");
    int toDay = ParamUtil.getInteger(request, "toDay");
    int toMonth = ParamUtil.getInteger(request, "toMonth");
    int toYear = ParamUtil.getInteger(request, "toYear");

    long groupId = ParamUtil.getLong(request, "groupId");
    String byUser = ParamUtil.getString(request, "byUser");

    Date dateFrom = new GregorianCalendar(fromYear, fromMonth, fromDay).getTime();
    Date dateTo = new GregorianCalendar(toYear, toMonth, toDay).getTime();

    String language = ParamUtil.getString(request, "language");
    String parentId = ParamUtil.getString(request, "parentId");

    long statusId = ParamUtil.getLong(request, "statusId", 2);
    long typeId = ParamUtil.getLong(request, "byType");

    int begin = ParamUtil.getInteger(request, "begin");
    int end = ParamUtil.getInteger(request, "end");

    ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);
    Layout layout = themeDisplay.getLayout();
    long companyId = layout.getCompanyId();
    FileInputStream fis = null;//from   w ww .  j a  v a 2s.  c  o m
    String porttalDir = PortalUtil.getPortalWebDir();
    if (cmd.equals("reportBydate")) {
        try {

            fis = new FileInputStream(porttalDir.substring(0, porttalDir.indexOf("ROOT"))
                    + "//VDoc-portlet//html//vdoc_manage//statistics//file//reportByDateTemplate.xls");

            POIFSFileSystem fs = new POIFSFileSystem(fis);
            HSSFWorkbook wb = new HSSFWorkbook(fs);
            // wb.createSheet();
            HSSFSheet sheet = wb.getSheetAt(0);

            setReportByDate(7, 0, sheet, wb, groupId, language, (int) statusId, dateFrom, dateTo);
            String strDir = "//VDoc-portlet//html//vdoc_manage//statistics//file//reportByDate.xls";
            getFile(PortalUtil.getHttpServletRequest(request), PortalUtil.getHttpServletResponse(response),
                    strDir, cmd);
        } catch (Exception ex) {
            ex.toString();
        } finally {
            fis.close();
        }
    } else {
        fis = new FileInputStream(porttalDir.substring(0, porttalDir.indexOf("ROOT"))
                + "//VDoc-portlet//html//vdoc_manage//statistics//file//reportByOrgTemplate.xls");

        POIFSFileSystem fs = new POIFSFileSystem(fis);
        HSSFWorkbook wb = new HSSFWorkbook(fs);
        // wb.createSheet();
        HSSFSheet sheet = wb.getSheetAt(0);

        try {
            setReportByOrg(7, 0, sheet, wb, groupId, language, (int) statusId);
            String strDir = "//VDoc-portlet//html//vdoc_manage//statistics//file//reportByOrg.xls";
            getFile(PortalUtil.getHttpServletRequest(request), PortalUtil.getHttpServletResponse(response),
                    strDir, cmd);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

}

From source file:com.xpn.xwiki.plugin.lucene.textextraction.MSExcelTextExtractor.java

License:Open Source License

/**
 * Extracts all text from an Excel by parsing all the sheets in that excel document.
 * /*from w w w. j  ava 2 s .  c  o  m*/
 * @return String
 */
public String getText(byte[] data) throws Exception {
    POIFSFileSystem poiFs = new POIFSFileSystem(new ByteArrayInputStream(data));
    mWorkbook = new HSSFWorkbook(poiFs);
    mDataFormat = mWorkbook.createDataFormat();

    StringBuffer cleanBuffer = new StringBuffer(DEFAULT_BUFFER_SIZE);
    for (int sheetIdx = 0; sheetIdx < mWorkbook.getNumberOfSheets(); sheetIdx++) {
        HSSFSheet sheet = mWorkbook.getSheetAt(sheetIdx);

        if (sheet != null) {
            parseSheet(sheet, cleanBuffer);
        }
    }
    return cleanBuffer.toString();
}

From source file:com.xx.platform.util.tools.ms.ExcelExtrator.java

License:Apache License

private String getExtrator(InputStream input) throws Exception {
    POIFSFileSystem poifs = new POIFSFileSystem(input);
    return extractText(poifs);
}

From source file:com.xx.platform.util.tools.ms.MSExtractor.java

License:Apache License

public String extractText(InputStream input) throws Exception {
    return extractText(new POIFSFileSystem(input));
}