POI操作execl表:有这个execl跑不了
程序员文章站
2024-01-25 15:30:28
...
近期做项目用到poi操作execl,感觉应该总结归总一下
导入依赖:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.17</version>
</dependency>
表\行\单元格
创建
Workbook workbook = new HSSFWorkbook();
Sheet sheet = workbook.createSheet("sheet表名字");
Row row = sheet.createRow(0); //创建行
Row row1 = sheet.getRow(0); //获取行
Cell cell = row.createCell(0);//创建单元格
Cell cell1 = row.getCell(0);//获取单元格
合并
//合并第一行的第一个到第四个单元格
CellRangeAddress region = new CellRangeAddress(0, 0, 0, 3);
sheet.addMergedRegion(region);
行高列宽
默认行宽必须在默认列宽之前才有效
sheet.setDefaultColumnWidth((short)(10*20));//设置默认列宽为10px
sheet.setDefaultRowHeight((short)(10*20));//设置默认行高为10px
sheet.setColumnHidden(0, (int) X);//设置第0行的行高为X px
row.setHeight((short) (20.2 * 20));//设置row对象行的行高为20.2px
sheet.setColumnWidth(i,(int) (255.86* X +184.27));//设置第0列的列宽为X px
sheet.autoSizeColumn(1, true); //自适应列宽
表格格式
字体:
//字体对象,22号仿宋字体,加粗,红色
Font font = workbook.createFont();
font .setFontName("仿宋_GB2312");
font .setFontHeightInPoints((short) 22);
font .setBold(true);//加粗
//颜色
font.setColor(Font.COLOR_RED);
一个大佬写的字体颜色对照表:
https://blog.csdn.net/for_china2012/article/details/29844661
创建格式对象
CellStyle cellStyle = workbook.createCellStyle();
背景颜色
setBorder.setFillForegroundColor((short) 13);// 设置背景色
setBorder.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
格式对象设置字体样式
cellStyle.setFont(font);
内容位置
cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);//上下居中
cellStyle.setAlignment(HorizontalAlignment.LEFT);//左右居左
首行缩进
cellStyle.setIndention((short) 2);//首行缩进两个字符
单元格内容自动换行
cellStyle.setWrapText(true);
格式对象设置边框
//参数为实线
cellStyle.setBorderBottom(BorderStyle.NONE); //下边框
cellStyle.setBorderLeft(BorderStyle.NONE);//左边框
cellStyle.setBorderTop(BorderStyle.NONE);//上边框
cellStyle.setBorderRight(BorderStyle.NONE);//右边框
边框参数:
单元格设置样式
cell.setCellStyle(cellStyle);
上一篇: [PHP]实用函数8