Class WorkbookFactory

java.lang.Object
org.apache.poi.ss.usermodel.WorkbookFactory
Direct Known Subclasses:
HSSFWorkbookFactory, XSSFWorkbookFactory

public class WorkbookFactory extends Object
Factory for creating the appropriate kind of Workbook (be it HSSFWorkbook or XSSFWorkbook), by auto-detecting from the supplied input.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static Workbook
    create(boolean xssf)
    Create a new empty Workbook, either XSSF or HSSF depending on the parameter
    static Workbook
    create(File file)
    Creates the appropriate HSSFWorkbook / XSSFWorkbook from the given File, which must exist and be readable.
    static Workbook
    create(File file, String password)
    Creates the appropriate HSSFWorkbook / XSSFWorkbook from the given File, which must exist and be readable, and may be password protected
    static Workbook
    create(File file, String password, boolean readOnly)
    Creates the appropriate HSSFWorkbook / XSSFWorkbook from the given File, which must exist and be readable, and may be password protected
    static Workbook
    Creates the appropriate HSSFWorkbook / XSSFWorkbook from the given InputStream.
    static Workbook
    create(InputStream inp, String password)
    Creates the appropriate HSSFWorkbook / XSSFWorkbook from the given InputStream, which may be password protected.
    static Workbook
    Deprecated.
    use XSSFWorkbookFactory.create
    static Workbook
    Creates a Workbook from the given NPOIFSFileSystem.
    static Workbook
    create(DirectoryNode root, String password)
    Creates a Workbook from the given NPOIFSFileSystem, which may be password protected
    static Workbook
    Creates a HSSFWorkbook from the given NPOIFSFileSystem

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • WorkbookFactory

      public WorkbookFactory()
  • Method Details

    • create

      public static Workbook create(boolean xssf) throws IOException
      Create a new empty Workbook, either XSSF or HSSF depending on the parameter
      Parameters:
      xssf - If an XSSFWorkbook or a HSSFWorkbook should be created
      Returns:
      The created workbook
      Throws:
      IOException - if an error occurs while reading the data
    • create

      public static Workbook create(POIFSFileSystem fs) throws IOException
      Creates a HSSFWorkbook from the given NPOIFSFileSystem

      Note that in order to properly release resources the Workbook should be closed after use.

      Parameters:
      fs - The POIFSFileSystem to read the document from
      Returns:
      The created workbook
      Throws:
      IOException - if an error occurs while reading the data
    • create

      public static Workbook create(DirectoryNode root) throws IOException
      Creates a Workbook from the given NPOIFSFileSystem.
      Parameters:
      root - The DirectoryNode to start reading the document from
      Returns:
      The created Workbook
      Throws:
      IOException - if an error occurs while reading the data
    • create

      public static Workbook create(DirectoryNode root, String password) throws IOException
      Creates a Workbook from the given NPOIFSFileSystem, which may be password protected
      Parameters:
      root - The DirectoryNode to start reading the document from
      password - The password that should be used or null if no password is necessary.
      Returns:
      The created Workbook
      Throws:
      IOException - if an error occurs while reading the data
    • create

      @Deprecated @Removal(version="4.2.0") public static Workbook create(Object pkg) throws IOException
      Deprecated.
      use XSSFWorkbookFactory.create
      Creates a XSSFWorkbook from the given OOXML Package. As the WorkbookFactory is located in the POI module, which doesn't know about the OOXML formats, this can be only achieved by using an Object reference to the OPCPackage.

      Note that in order to properly release resources the Workbook should be closed after use.

      Parameters:
      pkg - The OPCPackage opened for reading data.
      Returns:
      The created Workbook
      Throws:
      IOException - if an error occurs while reading the data
    • create

      public static Workbook create(InputStream inp) throws IOException, EncryptedDocumentException
      Creates the appropriate HSSFWorkbook / XSSFWorkbook from the given InputStream.

      Your input stream MUST either support mark/reset, or be wrapped as a BufferedInputStream! Note that using an InputStream has a higher memory footprint than using a File.

      Note that in order to properly release resources the Workbook should be closed after use. Note also that loading from an InputStream requires more memory than loading from a File, so prefer create(File) where possible.

      Parameters:
      inp - The InputStream to read data from.
      Returns:
      The created Workbook
      Throws:
      IOException - if an error occurs while reading the data
      EncryptedDocumentException - If the Workbook given is password protected
    • create

      public static Workbook create(InputStream inp, String password) throws IOException, EncryptedDocumentException
      Creates the appropriate HSSFWorkbook / XSSFWorkbook from the given InputStream, which may be password protected.

      Your input stream MUST either support mark/reset, or be wrapped as a BufferedInputStream! Note that using an InputStream has a higher memory footprint than using a File.

      Note that in order to properly release resources the Workbook should be closed after use. Note also that loading from an InputStream requires more memory than loading from a File, so prefer create(File) where possible.

      Parameters:
      inp - The InputStream to read data from.
      password - The password that should be used or null if no password is necessary.
      Returns:
      The created Workbook
      Throws:
      IOException - if an error occurs while reading the data
      EncryptedDocumentException - If the wrong password is given for a protected file
    • create

      public static Workbook create(File file) throws IOException, EncryptedDocumentException
      Creates the appropriate HSSFWorkbook / XSSFWorkbook from the given File, which must exist and be readable.

      Note that in order to properly release resources the Workbook should be closed after use.

      Parameters:
      file - The file to read data from.
      Returns:
      The created Workbook
      Throws:
      IOException - if an error occurs while reading the data
      EncryptedDocumentException - If the Workbook given is password protected
    • create

      public static Workbook create(File file, String password) throws IOException, EncryptedDocumentException
      Creates the appropriate HSSFWorkbook / XSSFWorkbook from the given File, which must exist and be readable, and may be password protected

      Note that in order to properly release resources the Workbook should be closed after use.

      Parameters:
      file - The file to read data from.
      password - The password that should be used or null if no password is necessary.
      Returns:
      The created Workbook
      Throws:
      IOException - if an error occurs while reading the data
      EncryptedDocumentException - If the wrong password is given for a protected file
    • create

      public static Workbook create(File file, String password, boolean readOnly) throws IOException, EncryptedDocumentException
      Creates the appropriate HSSFWorkbook / XSSFWorkbook from the given File, which must exist and be readable, and may be password protected

      Note that in order to properly release resources the Workbook should be closed after use.

      Parameters:
      file - The file to read data from.
      password - The password that should be used or null if no password is necessary.
      readOnly - If the Workbook should be opened in read-only mode to avoid writing back changes when the document is closed.
      Returns:
      The created Workbook
      Throws:
      IOException - if an error occurs while reading the data
      EncryptedDocumentException - If the wrong password is given for a protected file