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

com.github.nomou.spreadsheet.msexcel.OpenXMLSpreadsheetWriterFactory Maven / Gradle / Ivy

package com.github.nomou.spreadsheet.msexcel;

import com.github.nomou.spreadsheet.Spreadsheet;
import com.github.nomou.spreadsheet.SpreadsheetException;
import com.github.nomou.spreadsheet.SpreadsheetWriter;
import com.github.nomou.spreadsheet.spi.SpreadsheetWriterFactory;

import java.io.OutputStream;

/**
 * Spreadsheet writer factory for Microsoft Excel 2007+.
 *
 * @author vacoor
 * @since 1.0
 */
public class OpenXMLSpreadsheetWriterFactory implements SpreadsheetWriterFactory {
    private static final boolean POI_OOXML_PRESENT = SpreadsheetImplUtils.isPresent(SpreadsheetImplUtils.SXSSF_STREAMING_CLASS_NAME, SpreadsheetImplUtils.OOXML_CLASS_NAME);

    @Override
    public Spreadsheet.Format[] getSupportedFormats() {
        return new Spreadsheet.Format[]{OpenXMLSpreadsheetParserFactory.OOXML};
    }

    @Override
    public SpreadsheetWriter create(final OutputStream out) throws SpreadsheetException {
        if (POI_OOXML_PRESENT) {
            return new OpenXMLSpreadsheetWriter(out, null);
        }
        throw new SpreadsheetException(String.format("POI '%s' or '%s' missing", SpreadsheetImplUtils.SXSSF_STREAMING_CLASS_NAME, SpreadsheetImplUtils.OOXML_CLASS_NAME));
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy