Official web site
https://poi.apache.org/spreadsheet/index.htmlSample codes with HSSF
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
public static void generateReport() {
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("test");
HSSFRow row = sheet.createRow(0);
HSSFFont headerFont = wb.createFont();
headerFont.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
headerFont.setFontName("Trebuchet MS");
headerFont.setFontHeightInPoints((short) 11);
HSSFCellStyle style = wb.createCellStyle();
style.setFont(headerFont);
// style for content cells
HSSFFont cFont = wb.createFont();
cFont.setFontName("Trebuchet MS");
cFont.setFontHeightInPoints((short) 11);
HSSFCellStyle c_style = wb.createCellStyle();
c_style.setFont(cFont);
c_style.setDataFormat(
wb.getCreationHelper().createDataFormat().getFormat("#.####")); // give default precision, won't impact value but display
Cell cell = row.createCell(0);
cell.setCellStyle(c_style);
cell.setCellValue(Double.parseDouble("9.989786"));
HSSFRow row1 = sheet.createRow(1);
Cell cell1 = row1.createCell(0);
cell1.setCellStyle(c_style);
cell1.setCellValue("NaN");
DataOutputStream ds = new DataOutputStream(new FileOutputStream(new File("e:\\test.xls")));
wb.write(ds);
ds.flush();
ds.close();
}
- Features for HSSF and XSSF - referenced from official site
https://poi.apache.org/resources/images/ss-features.png