poi的基本使用
1 什么是poi?
POI是Apache软件基金会的开源项目,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。
2 如何使用poi制Excel表?
使用org.apache.poi.xssf包下工具, XSSF提供读写Microsoft Excel OOXML XLSX格式档案的功能。
2.1 导入依赖
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.17</version>
</dependency>
2.2 常用api
HSSFWorkbook workbook = new HSSFWorkbook(); //创建Excel文件(Workbook)
HSSFSheet sheet = workbook.createSheet(); //创建工作表(Sheet)
//HSSFSheet sheet = workbook.createSheet("表名");
/**
* 添加行
* 参数: 行索引
*/
XSSFRow row = sheet.createRow(0);
/**
* 添加列
* 参数: 列索引
*/
XSSFCell cell = row.createCell(0);
/**
* 自定义文字样式
*/
XSSFFont fieldFontStyle = workbook.createFont(); //创建文字样式
fieldFontStyle.setBold(true); //设置粗体
fieldFontStyle.setFontHeightInPoints((short)12); //设置字号
/**
* 自定义单元格样式
*/
XSSFCellStyle cellStyle = workbook.createCellStyle(); //创建单元格样式
cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); //设置单元格水平居中
cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER); //设置垂直居中
cellStyle.setFont(fieldFontStyle); //设置字体
cellStyle.setWrapText(true); //自动换行
cell.setCellStyle(cellStyle); // 为某个单元格设置样式
/**
* 合并单元格
* 参数依次为 firstRow(开始行索引)
* lastRow(结束行索引)
* firstCol(开始列索引)
* lastCol(结束列索引)
*/
CellRangeAddress region = new CellRangeAddress(1, 3, 0, 0); //合并行
sheet.addMergedRegion(region); //为表添加合并信息
/**
* 设置行高
*/
row.setHeightInPoints(30);
/**
* 设置列宽
* 参数依次为 columnIndex(列索引 0为第一列)
* width(宽度 14 * 256 为14个字符宽度)
*/
sheet.setColumnWidth(0, 14 * 256);
/**
* 生成excel表格文件
*/
FileOutputStream out = new FileOutputStream("C:/demo.xlsx");
workbook.write(out);
out.flush();
out.close();
workbook.close();