1.定义一个新的工作簿
Workbook wb = new HSSFWorkBook();
FileOutputStream fileout = new FileOutputStream("C:\\用poi搞出来的工作簿.xls");
wb.write(fileout);
fileout.close();
2.创建一个新的sheet页
wb.createSheet("第一个sheet页");
wb.createSheet("第二个sheet页");
3.创建单元格
Sheet sheet = wb.createSheet("第一个sheet页");
Row row = sheet.createRow(0);
row.setHeightInPoints(30);
Cell cell = row.createCell(0);
cell.setCellValue(1);
row.createCell(1).setCellValue(2);
row.createCell(2).setCellValue("string");
row.createCell(3).setCellValue(false);
4.创建一个时间格式的单元格
CreationHelper createHelper = wb.getCreationHelper();
CellStyle cellstyle = wb.createCellStyle();
cellStyle.setDateFormat(createHelper.createDataFormat().getFormat("yyyy-mm-dd hh:mm:ss"));
cell = row.createCell(1);
cell.setCellValue(new Date());
cell.setCellStyle(cellStyle);
cell = row.createCell(2);
cell.setCellValue(Calendar.getInstance());
cell.setCellStyle(cellStyle);
5.遍历工作簿的行和列并获取单元格的内容
public static void main(String[] args) throws Exception {
InputStream is = new FileInputStream("文件路径");
POIFSFileSystem fs= new POIFSFileSystem(is);
HSSFWorkbook wb = new HSSFWorkbook(fs);
HSSFSheet hssfSheet = wb.getSheetAt(0);
if(hssfSheet == null) {
return;
}
for(int rowNum = 0;rowNum <= hssfSheet.getLastRowNum();rowNum++) {
HSSFRow hssfRow = hssfSheet.getRow(rowNum);
if(hssfRow == null) {
continue;
}
for(int cellNum = 0;cellNum <= hssfRow.getLastCellNum();cellNum++) {
HSSFCell hssfCell = hssfRow.getCell(cellNum);
if(hssfCell == null) {
continue;
}
System.out.print(" "+getValue(hssfCell));
}
System.out.println();
}
}
private static String getValue(HSSFCell hssfCell) {
if(hssfCell.getCellType() == HSSFCell.CELL_TYPE_BOOLEAN) {
return String.valueOf(hssfCell.getBooleanCellValue());
}else if(hssfCell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
return String.valueOf(hssfCell.getNumericCellValue());
}else {
return String.valueOf(hssfCell.getStringCellValue());
}
}
6.文本提取
ExcelExtractor excelExtractor = new ExcelExtractor(wb);
excelExtractor.setIncludeSheetNames(false);
System.out.println(excelExtractor.getText());
7.单元格
换行

8.字体处理
Font font = wb.createFont();
font.setFontHeightInPoints((short)24);
font.setFontName("Courier New");
font.setItalic(true);
font.setStrikeout(true);
CellStyle cellStyle = wb.createCellStyle();
cellStyle.setFont(font);
9.读取和重写工作簿

10.设置单元格数据格式
DataFormat format = wb.createDataFormat;
style = wb.createCellStyle();
style.setDataFormat(format.getFomat("0.0"));
cell.setCellStyle(style);
11.实现数据的批量导出
OutputStream fos;
fos = new FileOutputStream(newFilePath);
wb.write(fos);
fos.flush();
fos.close();