All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.fengxxc.ExcelFlow Maven / Gradle / Ivy

package com.github.fengxxc;

import com.github.fengxxc.read.ExcelReader;
import com.github.fengxxc.read.ExcelXlsReader;
import com.github.fengxxc.read.ExcelXlsxReader;
import com.github.fengxxc.write.ExcelWriter;
import org.apache.poi.openxml4j.exceptions.OpenXML4JException;
import org.apache.poi.poifs.filesystem.FileMagic;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

/**
 * @author fengxxc
 */
public class ExcelFlow {

    public static ExcelReader read(InputStream stream) throws IOException, OpenXML4JException {
        InputStream is = FileMagic.prepareToCheckMagic(stream);
        ExcelReader excelReader = null;
        FileMagic fm = FileMagic.valueOf(is);
        switch (fm) {
            case OLE2:
                excelReader = new ExcelXlsReader().read(is);
                return excelReader;
            case OOXML:
                excelReader = new ExcelXlsxReader().read(is);
                return excelReader;
            default:
                throw new IOException("Your InputStream was neither an OLE2 stream, nor an OOXML stream");
        }

    }

    public static ExcelWriter write(OutputStream os) {
        ExcelWriter excelWriter = new ExcelWriter(os);
        return excelWriter;
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy