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();
Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐