Class WorkbookFactory


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

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static void addProvider​(WorkbookProvider provider)  
      static Workbook create​(boolean xssf)
      Create a new empty Workbook, either XSSF or HSSF depending on the parameter
      static Workbook create​(java.io.File file)
      Creates the appropriate HSSFWorkbook / XSSFWorkbook from the given File, which must exist and be readable.
      static Workbook create​(java.io.File file, java.lang.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​(java.io.File file, java.lang.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 create​(java.io.InputStream inp)
      Creates the appropriate HSSFWorkbook / XSSFWorkbook from the given InputStream.
      static Workbook create​(java.io.InputStream inp, java.lang.String password)
      Creates the appropriate HSSFWorkbook / XSSFWorkbook from the given InputStream, which may be password protected.
      static Workbook create​(DirectoryNode root)
      Creates a Workbook from the given DirectoryNode.
      static Workbook create​(DirectoryNode root, java.lang.String password)
      Creates a Workbook from the given DirectoryNode, which may be password protected.
      static Workbook create​(POIFSFileSystem fs)
      Creates a Workbook from the given POIFSFileSystem.
      static void removeProvider​(java.lang.Class<? extends WorkbookProvider> provider)  
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • create

        public static Workbook create​(boolean xssf)
                               throws java.io.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:
        java.io.IOException - if an error occurs while creating the objects
        java.lang.RuntimeException - a number of other runtime exceptions can be thrown, especially if there are problems with the input format
      • create

        public static Workbook create​(POIFSFileSystem fs)
                               throws java.io.IOException
        Creates a Workbook from the given POIFSFileSystem.

        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:
        java.io.IOException - if an error occurs while reading the data
        java.lang.RuntimeException - a number of runtime exceptions can be thrown, especially if there are problems with the input format
      • create

        public static Workbook create​(DirectoryNode root)
                               throws java.io.IOException
        Creates a Workbook from the given DirectoryNode.

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

        Parameters:
        root - The DirectoryNode to start reading the document from
        Returns:
        The created Workbook
        Throws:
        java.io.IOException - if an error occurs while reading the data
        java.lang.RuntimeException - a number of other exceptions can be thrown, especially if there are problems with the input format
      • create

        public static Workbook create​(DirectoryNode root,
                                      java.lang.String password)
                               throws java.io.IOException
        Creates a Workbook from the given DirectoryNode, which may be password protected.

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

        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:
        java.io.IOException - if an error occurs while reading the data
        java.lang.RuntimeException - a number of runtime exceptions can be thrown, especially if there are problems with the input format
      • create

        public static Workbook create​(java.io.InputStream inp)
                               throws java.io.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:
        java.io.IOException - if an error occurs while reading the data
        EncryptedDocumentException - If the Workbook given is password protected
        EmptyFileException - If the given data is empty
        java.lang.RuntimeException - a number of other runtime exceptions can be thrown, especially if there are problems with the input format
      • create

        public static Workbook create​(java.io.InputStream inp,
                                      java.lang.String password)
                               throws java.io.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:
        java.io.IOException - if an error occurs while reading the data
        EncryptedDocumentException - If the wrong password is given for a protected file
        EmptyFileException - If the given data is empty
        java.lang.RuntimeException - a number of other runtime exceptions can be thrown, especially if there are problems with the input format
      • create

        public static Workbook create​(java.io.File file)
                               throws java.io.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:
        java.io.IOException - if an error occurs while reading the data
        EncryptedDocumentException - If the Workbook given is password protected
        EmptyFileException - If the given data is empty
        java.lang.RuntimeException - a number of other runtime exceptions can be thrown, especially if there are problems with the input format
      • create

        public static Workbook create​(java.io.File file,
                                      java.lang.String password)
                               throws java.io.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:
        java.io.IOException - if an error occurs while reading the data
        EncryptedDocumentException - If the wrong password is given for a protected file
        EmptyFileException - If the given data is empty
        java.lang.RuntimeException - a number of other runtime exceptions can be thrown, especially if there are problems with the input format
      • create

        public static Workbook create​(java.io.File file,
                                      java.lang.String password,
                                      boolean readOnly)
                               throws java.io.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:
        java.io.IOException - if an error occurs while reading the data
        EncryptedDocumentException - If the wrong password is given for a protected file
        EmptyFileException - If the given data is empty
        java.lang.RuntimeException - a number of other runtime exceptions can be thrown, especially if there are problems with the input format
      • removeProvider

        public static void removeProvider​(java.lang.Class<? extends WorkbookProvider> provider)