Class WorkbookFactory
- java.lang.Object
-
- org.apache.poi.ss.usermodel.WorkbookFactory
-
- Direct Known Subclasses:
HSSFWorkbookFactory
,XSSFWorkbookFactory
public class WorkbookFactory extends java.lang.Object
Factory for creating the appropriate kind of Workbook (be itHSSFWorkbook
or XSSFWorkbook), by auto-detecting from the supplied input.
-
-
Constructor Summary
Constructors Constructor Description WorkbookFactory()
-
Method Summary
All Methods Static Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static Workbook
create(boolean xssf)
Create a new empty Workbook, either XSSF or HSSF depending on the parameterstatic 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 protectedstatic 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 protectedstatic 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(java.lang.Object pkg)
Deprecated.use XSSFWorkbookFactory.createstatic Workbook
create(DirectoryNode root)
Creates a Workbook from the given NPOIFSFileSystem.static Workbook
create(DirectoryNode root, java.lang.String password)
Creates a Workbook from the given NPOIFSFileSystem, which may be password protectedstatic Workbook
create(POIFSFileSystem fs)
Creates a HSSFWorkbook from the given NPOIFSFileSystem
-
-
-
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 reading the data
-
create
public static Workbook create(POIFSFileSystem fs) throws java.io.IOException
Creates a HSSFWorkbook from the given NPOIFSFileSystemNote that in order to properly release resources the Workbook should be closed after use.
- Parameters:
fs
- ThePOIFSFileSystem
to read the document from- Returns:
- The created workbook
- Throws:
java.io.IOException
- if an error occurs while reading the data
-
create
public static Workbook create(DirectoryNode root) throws java.io.IOException
Creates a Workbook from the given NPOIFSFileSystem.- Parameters:
root
- TheDirectoryNode
to start reading the document from- Returns:
- The created Workbook
- Throws:
java.io.IOException
- if an error occurs while reading the data
-
create
public static Workbook create(DirectoryNode root, java.lang.String password) throws java.io.IOException
Creates a Workbook from the given NPOIFSFileSystem, which may be password protected- Parameters:
root
- TheDirectoryNode
to start reading the document frompassword
- 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
-
create
@Deprecated @Removal(version="4.2.0") public static Workbook create(java.lang.Object pkg) throws java.io.IOException
Deprecated.use XSSFWorkbookFactory.createCreates 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
- TheOPCPackage
opened for reading data.- Returns:
- The created Workbook
- Throws:
java.io.IOException
- if an error occurs while reading the data
-
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 anInputStream
has a higher memory footprint than using aFile
.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
- TheInputStream
to read data from.- Returns:
- The created Workbook
- Throws:
java.io.IOException
- if an error occurs while reading the dataEncryptedDocumentException
- If the Workbook given is password protected
-
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 anInputStream
has a higher memory footprint than using aFile
.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
- TheInputStream
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 dataEncryptedDocumentException
- If the wrong password is given for a protected file
-
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 dataEncryptedDocumentException
- If the Workbook given is password protected
-
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 protectedNote 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 dataEncryptedDocumentException
- If the wrong password is given for a protected file
-
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 protectedNote 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 dataEncryptedDocumentException
- If the wrong password is given for a protected file
-
-