@author YHC
新建Excel
//第一种方式
Workbook wb = new HSSFWorkbook();
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();
//第二种方式
Workbook wb = new XSSFWorkbook();
FileOutputStream fileOut = new FileOutputStream("workbook.xlsx");
wb.write(fileOut);
fileOut.close();
创建工作薄
Workbook wb = new HSSFWorkbook(); // or new XSSFWorkbook();
Sheet sheet1 = wb.createSheet("new sheet");
Sheet sheet2 = wb.createSheet("second sheet");
// 注意工作薄的名称不能超过31个字符
// 和不能包含任何关于下列的字符
// 0x0000
// 0x0003
// 冒号(:)
// 反斜线 (\)
// 星号(*)
// 问号(?)
// 斜线 (/)
// 开方括号 ([)
// 闭方括号 (])
// 你可以使用 org.apache.poi.ss.util.WorkbookUtil类的createSafeSheetName(String nameProposal)}
// 安全的方法创建一个有效的名称, 这个工具类替换了无效的字符为 ""
String safeName = WorkbookUtil.createSafeSheetName("[O'Brien's sales*?]"); // returns " O'Brien's sales "
Sheet sheet3 = wb.createSheet(safeName);
//输出到文件
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();
创建单元格
Workbook wb = new HSSFWorkbook();
//Workbook wb = new XSSFWorkbook();
CreationHelper createHelper = wb.getCreationHelper();
Sheet sheet = wb.createSheet("new sheet");
// 创建一个行对象并添加一些单元格在里面. Rows的下标从0开始.
Row row = sheet.createRow((short)0);
// 创建一个单元格,并放入值
Cell cell = row.createCell(0);
cell.setCellValue(1);
// 这些单元格都在一行上面
row.createCell(1).setCellValue(1.2);
//创建富文本
row.createCell(2).setCellValue(
createHelper.createRichTextString("This is a string"));
//创建Boolean类型值
row.createCell(3).setCellValue(true);
// 写入生成文件
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();
创建Date类型单元格
Workbook wb = new HSSFWorkbook();
//Workbook wb = new XSSFWorkbook();
CreationHelper createHelper = wb.getCreationHelper();
Sheet sheet = wb.createSheet("new sheet");
// 创建一个Row对象并添加一些单元格在里面. Row下标从0开始
Row row = sheet.createRow(0);
// 创建一个Cell并添加Date类型的值到里面 第一个单元格没有样式
// as a date.
Cell cell = row.createCell(0);
cell.setCellValue(new Date());
// 我们的第二个单元格为日期(时间) 格式. 重要的是
// 通过workbook创建一个新的单元格样式,另外你最终修改的内置样式影响的不仅仅可以是这个单元格,也可以是其他单元格
CellStyle cellStyle = wb.createCellStyle();
//创建日期显示格式
cellStyle.setDataFormat(
createHelper.createDataFormat().getFormat("m/d/yy h:mm"));
cell = row.createCell(1);
cell.setCellValue(new Date());
cell.setCellStyle(cellStyle);
//你也可以设置date类型为 java.util.Calendar类型
cell = row.createCell(2);
cell.setCellValue(Calendar.getInstance());
cell.setCellStyle(cellStyle);
//输出到文件
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();