
de.alpharogroup.export.excel.poi.ExcelPoiFactory Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of file-worker Show documentation
Show all versions of file-worker Show documentation
Project that holds utility class for file operations.
/**
* The MIT License
*
* Copyright (C) 2007 Asterios Raptis
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
package de.alpharogroup.export.excel.poi;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.Font;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.util.WorkbookUtil;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import de.alpharogroup.check.Check;
/**
* Factory class for create poi objects.
*/
public class ExcelPoiFactory
{
/**
* Creates a new CellStyle from the given parameters.
*
* @param workbook
* the workbook
* @param fontName
* the font name
* @param boldweight
* the boldweight
* @param height
* the height
* @return the cell style
*/
public static CellStyle newCellStyle(final Workbook workbook, final String fontName,
final short boldweight, final short height)
{
final CellStyle boldFontCellStyle = workbook.createCellStyle();
boldFontCellStyle.setFont(newFont(workbook, fontName, boldweight, height));
return boldFontCellStyle;
}
/**
* Creates a new CellStyle with the given date format.
*
* @param workbook
* the workbook
* @param dateFormat
* the date format
* @return the cell style
*/
public static CellStyle newDateCellStyle(final Workbook workbook, final String dateFormat)
{
final CellStyle dateCellStyle = workbook.createCellStyle();
dateCellStyle.setDataFormat(workbook.getCreationHelper().createDataFormat()
.getFormat(dateFormat));
return dateCellStyle;
}
/**
* Creates a new font from the given parameters.
*
* @param workbook
* the workbook
* @param fontName
* the font name
* @param boldweight
* the boldweight
* @param height
* the height
* @return the font
*/
public static Font newFont(final Workbook workbook, final String fontName,
final short boldweight, final short height)
{
final Font font = workbook.createFont();
font.setFontName(fontName);
font.setBoldweight(boldweight);
font.setFontHeightInPoints(height);
return font;
}
/**
* Creates a new HSSFWorkbook from the given file.
*
* @param file
* the file name
* @return the Workbook
* @throws IOException
* Signals that an I/O exception has occurred.
*/
public static Workbook newHSSFWorkbook(final File file) throws IOException
{
return writeWorkbook(new HSSFWorkbook(), file);
}
/**
* Creates a new HSSFWorkbook from the given file name.
*
* @param pathname
* the file name
* @return the Workbook
* @throws IOException
* Signals that an I/O exception has occurred.
*/
public static Workbook newHSSFWorkbook(final String pathname) throws IOException
{
Check.get().notNull(pathname, "pathname");
return newHSSFWorkbook(new File(pathname));
}
/**
* Creates a new Sheet with the given name.
*
* Note that sheet name is Excel must not exceed 31 characters and must not contain any of the
* any of the following characters:
*
* - 0x0000
* - 0x0003
* - colon (:)
* - backslash (\)
* - asterisk (*)
* - question mark (?)
* - forward slash (/)
* - opening square bracket ([)
* - closing square bracket (])
*
*
* @param workbook
* the workbook
* @param name
* the name
* @return the Sheet
*/
public static Sheet newSheet(final Workbook workbook, final String name)
{
return workbook.createSheet(WorkbookUtil.createSafeSheetName(name));
}
/**
* Creates a new HSSFWorkbook from the given file.
*
* @param file
* the file name
* @return the Workbook
* @throws IOException
* Signals that an I/O exception has occurred.
*/
public static Workbook newXSSFWorkbook(final File file) throws IOException
{
return writeWorkbook(new XSSFWorkbook(), file);
}
/**
* Writes the given Workbook to the given file.
*
* @param workbook
* the workbook
* @param file
* the file
* @return the Workbook
* @throws IOException
* Signals that an I/O exception has occurred.
*/
public static Workbook writeWorkbook(final Workbook workbook, final File file)
throws IOException
{
final FileOutputStream fileOutputStream = new FileOutputStream(file);
workbook.write(fileOutputStream);
fileOutputStream.close();
return workbook;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy