Example usage for org.apache.poi.poifs.filesystem FileMagic OLE2

List of usage examples for org.apache.poi.poifs.filesystem FileMagic OLE2

Introduction

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

Prototype

FileMagic OLE2

To view the source code for org.apache.poi.poifs.filesystem FileMagic OLE2.

Click Source Link

Document

OLE2 / BIFF8+ stream used for Office 97 and higher documents

Usage

From source file:com.jkoolcloud.tnt4j.streams.inputs.ExcelSXSSFRowStream.java

License:Apache License

@Override
protected void initialize() throws Exception {
    super.initialize();

    Thread excelFileReader = new Thread(new Runnable() {
        @Override/*from   w ww  . j  a va2  s  .  c  o m*/
        public void run() {
            try {
                File inputFile = new File(fileName);

                InputStream is = new FileInputStream(inputFile);
                is = FileMagic.prepareToCheckMagic(is);
                FileMagic fm = FileMagic.valueOf(is);
                Utils.close(is);

                if (fm == FileMagic.OOXML) {
                    readXLXS(inputFile);
                } else if (fm == FileMagic.OLE2) {
                    readXLS(inputFile);
                } else {
                    throw new IOException(
                            StreamsResources.getStringFormatted(MsOfficeStreamConstants.RESOURCE_BUNDLE_NAME,
                                    "ExcelSXSSFRowStream.unsupported.format", fileName));
                }
            } catch (Exception e) {
                Utils.logThrowable(LOGGER, OpLevel.ERROR,
                        StreamsResources.getBundle(MsOfficeStreamConstants.RESOURCE_BUNDLE_NAME),
                        "ExcelSXSSFRowStream.file.read.failed", fileName, e);
            }
            ended = true;
        }
    });
    excelFileReader.start();
}