当前位置:首页 > Java后台 > 正文内容

poi excel 常用操作 [冻结、合并、链接]

admin2020-06-09Java后台

基本

Workbook wb= new HSSFWorkbook();
Sheet sheet = wb.createSheet("sheetName");
Row row = sheet.createRow(0); //第一行
Cell cell = row.createCell(0);//第一个单元格
cell.setCellValue("企业名称");//单元格赋值
cell.setCellStyle(cellStyle);//设置样式
FileOutputStream fos = new FileOutputStream("c:/workbook.xls");
wb.write(fos);
fos.close();

合并单元格

CellRangeAddress(int firstRow, int lastRow, int firstCol, int lastCol)

参数:起始行号,终止行号, 起始列号,终止列号
例:

CellRangeAddress cra =new CellRangeAddress(0, 1, 0, 0); //合并第一列两行
sheet.addMergedRegion(cra);


冻结、固定表头

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

链接

cell.setCellFormula("HYPERLINK(\"文件夹地址或者网址\",\"" + "附件"+ "\")");//link样式
HSSFCellStyle linkStyle = (HSSFCellStyle) wb.createCellStyle();
HSSFFont cellFont= (HSSFFont) wb.createFont();
cellFont.setUnderline((byte) 1);
cellFont.setColor(HSSFColor.BLUE.index);
linkStyle.setFont(cellFont);cell.setCellStyle(linkStyle);

格式化

文本:@
货币:#,##0.00日期:yyyy年m月d日

例: 

HSSFCellStyle numberStyle = (HSSFCellStyle) wb.createCellStyle();
DataFormat format = wb.createDataFormat();
numberStyle.setDataFormat(format.getFormat("#,##0.00"));
cell.setCellStyle(numberStyle);

1,290,588.00

解决合并单元格后边框不完整的问题

for (CellRangeAddress cellRangeAddress :cellRangeAddressList) {
    // 补充下面的操作,可以显示全部框线
    RegionUtil.setBorderBottom(BorderStyle.THIN.ordinal(), cellRangeAddress, sheet, workbook);
    RegionUtil.setBorderTop(BorderStyle.THIN.ordinal(), cellRangeAddress, sheet, workbook);
    RegionUtil.setBorderLeft(BorderStyle.THIN.ordinal(), cellRangeAddress, sheet, workbook);
    RegionUtil.setBorderRight(BorderStyle.THIN.ordinal(), cellRangeAddress, sheet, workbook);
}


转自: https://www.cnblogs.com/july4/p/8989898.html

扫描二维码推送至手机访问。

版权声明:本文由远方发布,如需转载请注明出处。

本文链接:https://www.hukaivip.cn/?id=22

分享给朋友:

相关文章

java浏览器打开resource下文件

@ApiOperation(value = "下载派送费成本模板", notes = "by Hukai&qu...

文件流操作&pdf合并

1.根据文件的url路径, 输出到本地文件夹private String getProxyLabelPdfPath(String urlStr) { &nbs...

Dom4j递归解析xml文件(遍历所有节点和属性)

public class Dom4jTest {          @Test &n...

Java8-Stream集合操作快速上手

Java8-Stream集合操作快速上手

作者:我是你的小眼睛https://www.jianshu.com/p/9fe8632d0bc2目录Stream简介为什么要使用Stream实例数据源FilterMapFlatMapReduceCol...

RestTemplate调用的时候数据格式转换为LinkedHashMap处理

Map paramMap = constructParamMap(orderSearchRequestDto); HttpEntity httpEntity&...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。