POI常用方法汇总

本文介绍了使用Java的POI库操作Excel的核心方法,包括创建文件、设定列宽、合并单元格、设置边框样式、定义字体格式、单元格对齐方式以及冻结行列等步骤,提供了详细的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

POI常用方法汇总

  • 创建文件名
String dateTime = DateUtil.format(DateUtil.date(), "yyyyMMddHHmmss");
String fileName = "fileName" + dateTime + ".xlsx";
  • 创建对象及sheet
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("fileName");
  • 列宽
// 设置默认列宽,width为字符个数
sheet.setDefaultColumnWidth(12);
// 设置第columnIndex+1列的列宽,单位为字符宽度的1/256
sheet.setColumnWidth(int columnIndex, int width)
//	设置第1列为12个字符宽
sheet.setColumnWidth(0, 12 * 256);
  • 合并单元格
CellRangeAddress tableHead = new CellRangeAddress(int firstRow , int lastRow, int firstCol, int lastCol);
sheet.addMergedRegion(tableHead);
//	标题合并,第一行,第1-16列合并
CellRangeAddress tableHead = new CellRangeAddress(0, 0, 0, 15);
  • 合并单元格的边框。
RegionUtil.setBorderTop(BorderStyle.THIN, tableHead, sheet);
RegionUtil.setBorderRight(BorderStyle.THIN, tableHead, sheet);
RegionUtil.setBorderBottom(BorderStyle.THIN, tableHead, sheet);
RegionUtil.setBorderRight(BorderStyle.THIN, tableHead, sheet);
  • 字体
HSSFFont fontTitle = wb.createFont();
//	粗体
fontTitle.setBold(true);
//	字体
fontTitle.setFontName("宋体");
//	字号
fontTitle.setFontHeightInPoints((short) 11);
//	颜色
fontTitle.setColor(HSSFColor.HSSFColorPredefined.BLACK.getIndex());
  • 居中
titleStyle.setAlignment(HorizontalAlignment.CENTER);
titleStyle.setVerticalAlignment(VerticalAlignment.CENTER);
  • 单个单元格边框
titleStyle.setBorderTop(BorderStyle.DOUBLE);
titleStyle.setBorderRight(BorderStyle.THICK);
titleStyle.setBorderBottom(BorderStyle.DASH_DOT);
titleStyle.setBorderLeft(BorderStyle.MEDIUM);
//	边框颜色
titleStyle.setBottomBorderColor(IndexedColors.BLUE.getIndex());
  • 背景色
headerStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
headerStyle.setFillForegroundColor(IndexedColors.YELLOW.getIndex());
  • 冻结
//  冻结前两列
sheet.createFreezePane( 2, 0, 2, 0 );

说明:
第一个参数表示要冻结的列数;
第二个参数表示要冻结的行数,这里只冻结列所以为0;
第三个参数表示右边区域可见的首列序号,从1开始计算;
第四个参数表示下边区域可见的首行序号,也是从1开始计算,这里是冻结列,所以为0;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值