登录|注册|帮助中心|联系我们

导航
首页 综合百科 生活常识 数码科技 明星名人 传统文化 互联网 健康 影视 美食 教育 旅游 汽车 职场 时尚 运动 游戏 家电 地理 房产 金融 节日 服饰 乐器 歌曲 动物 植物
当前位置:首页 > 生活常识

easypoi合并单元格导入(EasyPoi导入导出最全案例)

发布时间:2022年12月26日责任编辑:吴小强标签:暂无标签

下面例子为创建产生一个excel,合并单元格,然后为合并后的单元格添加边框

    ?package test; ?import java.io.FileOutputStream; ?import java.io.IOException; ?import org.apache.poi.hssf.usermodel.HSSFCell; ?import org.apache.poi.hssf.usermodel.HSSFCellStyle; ?import org.apache.poi.hssf.usermodel.HSSFRow; ?import org.apache.poi.hssf.usermodel.HSSFSheet; ?import org.apache.poi.hssf.usermodel.HSSFWorkbook; ?import org.apache.poi.ss.usermodel.BorderStyle; ?import org.apache.poi.ss.usermodel.Font; ?import org.apache.poi.ss.usermodel.HorizontalAlignment; ?import org.apache.poi.ss.util.CellRangeAddress; ?import org.apache.poi.ss.util.RegionUtil; ?public class ExcelPoiTest { ?public static void main(String[] args) { ?HSSFWorkbook workbook = new HSSFWorkbook(); // 创建一个excel ?// excel生成过程: excel–>sheet–>row–>cell ?HSSFSheet sheet = workbook.createSheet(“test”); // 为excel创建一个名为test的sheet页 ?HSSFRow row = sheet.createRow(1); // 创建一行,参数2表示第一行 ?HSSFCell cellB2 = row.createCell(1); // 在B2位置创建一个单元格 ?HSSFCell cellB3 = row.createCell(2); // 在B3位置创建一个单元格 ?cellB2.setCellValue(“单元格B2”); // B2单元格填充内容 ?cellB3.setCellValue(“单元格B3”); // B3单元格填充内容 ?HSSFCellStyle cellStyle = workbook.createCellStyle(); // 单元格样式 ?Font fontStyle = workbook.createFont(); // 字体样式 ?fontStyle.setBold(true); // 加粗 ?fontStyle.setFontName(“黑体”); // 字体 ?fontStyle.setFontHeightInPoints((short) 11); // 大小 ?// 将字体样式添加到单元格样式中 ?cellStyle.setFont(fontStyle); ?// 边框,居中 ?cellStyle.setAlignment(HorizontalAlignment.CENTER); ?cellStyle.setBorderBottom(BorderStyle.THIN); ?cellStyle.setBorderLeft(BorderStyle.THIN); ?cellStyle.setBorderRight(BorderStyle.THIN); ?cellStyle.setBorderTop(BorderStyle.THIN); ?cellB2.setCellStyle(cellStyle); // 为B2单元格添加样式 ?// 合并单元格 ?CellRangeAddress cra =new CellRangeAddress(1, 3, 1, 3); // 起始行, 终止行, 起始列, 终止列 ?sheet.addMergedRegion(cra); ?// 使用RegionUtil类为合并后的单元格添加边框 ?RegionUtil.setBorderBottom(1, cra, sheet); // 下边框 ?RegionUtil.setBorderLeft(1, cra, sheet); // 左边框 ?RegionUtil.setBorderRight(1, cra, sheet); // 有边框 ?RegionUtil.setBorderTop(1, cra, sheet); // 上边框 ?// 输出到本地 ?String excelName = “/myExcel.xls”; ?FileOutputStream out = null; ?try { ?out = new FileOutputStream(excelName); ?workbook.write(out); ?out.flush(); ?out.close(); ?} catch (Exception e) { ?e.printStackTrace(); ?} finally { ?if (out != null) ?try { ?out.close(); ?} catch (IOException e) { ?e.printStackTrace(); ?} ?out = null; ?} ?} ?}

生成的excel样式为

???

简单说明:

1.excel生成过程: excel–>sheet–>row–>cell 2.索引从0开始

3.合并单元格后保留最左上角的单元格(B3单元格被B2单元格覆盖)

4.合并后单元格边框通过RegionUtil设置,如果删除以下代码

    ?// 使用RegionUtil类为合并后的单元格添加边框 ?RegionUtil.setBorderBottom(1, cra, sheet); // 下边框 ?RegionUtil.setBorderLeft(1, cra, sheet); // 左边框 ?RegionUtil.setBorderRight(1, cra, sheet); // 有边框 ?RegionUtil.setBorderTop(1, cra, sheet); // 上边框

效果为:

???

可以看到只有B2单元格有边框。

其它知识推荐

溜溜百科知识网——分享日常生活学习工作各类知识。 垃圾信息处理邮箱 tousu589@163.com
icp备案号 闽ICP备14012035号-2 互联网安全管理备案 不良信息举报平台 Copyright 2023 www.6za.net All Rights Reserved