POI合并后处理单元格无边框(记录)

这篇博客介绍了如何使用Java的HSSFWorkbook库来创建和设置Excel表格的样式,包括字体、颜色、边框和单元格对齐方式。此外,还展示了如何合并单元格,但注意合并顺序对边框显示的影响。

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

1、这里举例处理第一行和第二行,效果如下
在这里插入图片描述

1、先对每个单元格设置框线。

    
    HSSFWorkbook wb = new HSSFWorkbook();// 建立新HSSFWorkbook对象
    HSSFSheet sheet = wb.createSheet("sheet" + x);// 建立新的sheet对象
  // 第一行
	HSSFRow row0 = sheet.createRow((short)0);// 建立提示行
    row0.setHeight((short)(40 * 20));
    // 第一行样式
   	HSSFCellStyle cellStyle = wb.createCellStyle();
    // 设置字体
    HSSFFont font = wb.createFont();
    font.setFontHeightInPoints((short)12);
    font.setColor(HSSFColor.BLACK.index);
    cellStyle.setFont(font);
    // 水平居中
    cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
    // 垂直居中
    cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
    // 设置边框
    cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);
    cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);
    cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);
     // 第一行第一列
     HSSFCell cell0 = row0.createCell((short)0);// 建立新cell
     cell0.setCellValue(“品类分布数据”);
     cell0.setCellStyle(cellStyle);
     // 第一行第六列(**处理框线**)
     cell0 = row0.createCell((short)6);// 建立新cell
     cell0.setCellValue("");
     cell0.setCellStyle(cellStyle);
     // 第二行
     HSSFRow row1 = sheet.createRow((short)1);// 建立新行
     row1.setHeight((short)(30 * 20));
     // 第二行样式
     cellStyle = wb.createCellStyle();
     // 设置字体
     font = wb.createFont();
     font.setFontHeightInPoints((short)12);
     font.setColor(HSSFColor.BLACK.index);
     // 第二行第一列
     cell0 = row1.createCell((short)0);// 建立新cell
     cell0.setCellValue("栏目名称");
     cell0.setCellStyle(cellStyle);
     // 第二行第二列(**处理框线**)
     cell0 = row1.createCell((short)1);// 建立新cell
     cell0.setCellValue("");
     cell0.setCellStyle(cellStyle);
     // 第二行第三列(**处理框线**)
     cell0 = row1.createCell((short)2);// 建立新cell
     cell0.setCellValue("");
     cell0.setCellStyle(cellStyle);
     // 第二行第四列
     cell0 = row1.createCell((short)3);// 建立新cell
     cell0.setCellValue("商品数量");
     cell0.setCellStyle(cellStyle);
     // 第二行第五列
     cell0 = row1.createCell((short)4);// 建立新cell
     cell0.setCellValue("售出数量");
     cell0.setCellStyle(cellStyle);
     // 第二行第六列
     cell0 = row1.createCell((short)5);// 建立新cell
     cell0.setCellValue("销售总额");
     cell0.setCellStyle(cellStyle);
     // 第二行第七列
     cell0 = row1.createCell((short)6);// 建立新cell
     cell0.setCellValue("销售利润");
     cell0.setCellStyle(cellStyle);

2、再进行单元格合并操作(顺序颠倒,会有部分单元格缺失框线

 // 合并单元格
    sheet.addMergedRegion(new Region(0, (short)0, 0, (short)6));
    sheet.addMergedRegion(new Region(1, (short)0, 1, (short)2));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值