最近由于项目需要用到了POI来生成Excel表格,遇到单元格合并以后怎么加边框,老是解决不了,特意上来请教一下
在网上找了一堆,都不行。
自己写了一个笨方法,可以实现列合并加边框,但是行合并就不行了,方法如下:
Java代码
Java代码
/**
* 合并单元格加边框 水平
* @param sheet
* @param region
* @param cs
*/
public static void setCellBorder(int start, int end, HSSFRow row, HSSFCellStyle style) {
for(int i=start;i<=end;i++){
HSSFCell cell = row.createCell(i);
cell.setCellValue("");
cell.setCellStyle(style);
}
}
/**
* 合并单元格加边框 水平
* @param sheet
* @param region
* @param cs
*/
public static void setCellBorder(int start, int end, HSSFRow row, HSSFCellStyle style) {
for(int i=start;i<=end;i++){
HSSFCell cell = row.createCell(i);
cell.setCellValue("");
cell.setCellStyle(style);
}
}
参数说明:start和并的第二列,end为合并的最后一列,row就为当前行,style样式(里面有设置边框)
例如从0-10列合并: ExcelUtil.setCellBorder(2,10,row,style); 这样可以设置
关于合并行设置也写了一个,但是不行,方法如下:
Java代码
Java代码
/**
* 合并单元格加边框 垂直
* @param sheet
* @param region
* @param cs
*/
public static void setCellBorder(int start, int end, int col, HSSFSheet sheet, HSSFCellStyle style) {
for(int i=start;i<=end;i++){
HSSFRow row = ExcelUtil.createRow(sheet, start, (short)0);
HSSFCell cell = row.createCell(col);
cell.setCellValue("");
cell.setCellStyle(style);
}
}
/**
* 合并单元格加边框 垂直
* @param sheet
* @param region
* @param cs
*/
public static void setCellBorder(int start, int end, int col, HSSFSheet sheet, HSSFCellStyle style) {
for(int i=start;i<=end;i++){
HSSFRow row = ExcelUtil.createRow(sheet, start, (short)0);
HSSFCell cell = row.createCell(col);
cell.setCellValue("");
cell.setCellStyle(style);
}
}
参数说明:start和并的第二行,end为合并的最后一行,col为哪一列,sheet就是当前表格对象,style样式(里面有设置边框)
下面是调用代码:
Java代码
Java代码
//第二行 制表时间
HSSFRow rowCreateTime = ExcelUtil.createRow(sheet, 1, (short)400);
String time = new SimpleDateFormat("yyyy年MM月dd日").format(new Date());
ExcelUtil.createCell(sheet, rowCreateTime, 0, styleTime,
new Region(1,(short)0,1,(short)27), "制表时间:"+time,null);
//合并后单元格设置边框
ExcelUtil.setCellBorder(1, 27, rowCreateTime, styleTime);
//第三行 目录
HSSFRow rowMenu = ExcelUtil.createRow(sheet, 2, (short)450);
HSSFRow rowMenu1 = ExcelUtil.createRow(sheet, 3, (short)450);
//单位
ExcelUtil.createCell(sheet, rowMenu, 0, style,
new Region(2,(short)0,3,(short)0),"单位",4000);
ExcelUtil.setCellBorder(3, 3, 0, sheet, style);
//设备型号
ExcelUtil.createCell(sheet, rowMenu, 1, style,
new Region(2,(short)1,3,(short)1),"设备型号",2500);
ExcelUtil.setCellBorder(3, 3, 1, sheet, style);
//全年1-12月维修情况
ExcelUtil.createCell(sheet, rowMenu, 2, style,
new Region(2,(short)2,2,(short)13),"全年1-12月维修情况",null);
//合计
ExcelUtil.createCell(sheet, rowMenu, 14, style,
new Region(2,(short)14,3,(short)14),"合计",1200);
ExcelUtil.setCellBorder(3, 3, 14, sheet, style);
//全年1-12月维护情况
ExcelUtil.createCell(sheet, rowMenu, 15, style,
new Region(2,(short)15,2,(short)26),"全年1-12月维修情况",null);
//合计
ExcelUtil.createCell(sheet, rowMenu, 27, style,
new Region(2,(short)27,3,(short)27),"合计",1200);
ExcelUtil.setCellBorder(3, 3, 27, sheet, style);
分享到:
相关推荐
POI操作Excel 合并单元格 边框问题解决方法,这个方法是我亲自测试,并运用于项目中的,可以放心使用,还一并写出了很多注释,其中有写poi的bug的解决方法
关于java EXCEL poi 合并后无法显示或无法设置边框问题 【本人亲测】 excel poi 新手! 坑了1.5天!
在Excel中,合并单元格意味着多个相邻的单元格被合并成一个大的单元格,其内容占据合并后的所有空间。在Java中使用Apache POI进行操作,我们需要使用`XSSFWorkbook`(对于.xlsx文件)或`HSSFWorkbook`(对于.xls文件...
本主题将深入探讨如何利用Java的Apache POI库中的XSSFWorkbook类来实现自由合并单元格,并设置单元格样式。Apache POI是一个流行的API,它允许开发者读取、创建和修改Microsoft Office格式的文件,包括Excel。 首先...
在本文中,我们将深入探讨如何使用NPOI创建Excel文件,并进行单元格的样式设置,包括合并单元格、设置字体样式、边框以及对齐方式。 首先,创建一个新的Excel工作簿(HSSFWorkbook)是开始操作的基础。以下代码展示...
这个示例代码中的"exportExcel"可能是完成上述操作后的可执行程序,运行该程序即可生成具有边框、背景色和合并单元格的Excel文件。通过理解这些知识点,你可以灵活地在C++项目中实现自定义的Excel导出功能。
当你需要在`JTable`中实现特定的布局或者展示特殊格式的数据时,可能会遇到需要合并单元格的需求。例如,为了创建一个标题行或列,或者在某些情况下合并具有相同数据的单元格以减少重复,合并单元格就显得尤为重要。...
10、添加区域,合并单元格 11、保存Excel文件 12、根据单元格不同属性返回字符串数值 13、常用单元格边框格式 14、设置字体和内容位置 15、插入图片 16、调整工作表位置 17、设置打印区域 18、标注脚注 19...
描述提到“Android可以操作简单的表格,进行合并单元格等操作”,这表明Apache POI的功能已经扩展到Android平台,使得Android应用也能处理Excel数据,如合并单元格,这是在创建或编辑表格时常见的需求。在Android...
本案例中,"合并单元格导出数据到excel.rar"是一个压缩包,包含了一个Java代码示例,它实现了从数据库查询数据后,利用Apache POI库来生成包含合并单元格的Excel文件。以下是关于这个主题的详细知识点: 1. **Java...
本文将详细介绍如何使用 POI 库设置 Excel 单元格的格式,包括设置背景色、边框、居中、字体、列宽、自动换行和合并单元格等。 一、设置背景色 在 POI 中,可以使用 `HSSFCellStyle` 对象设置单元格的背景色。首先...
5.2 单元格边框样式 40 5.3 单元格背景色 41 5.4 单元格字体格式 41 5.5 单元格对齐方式 42 5.6 单元格数字格式化 45 5.7单元格宽度与高度 46 5.8 合并单元格样式 47 5.9 Excel样式实例 48 6.总结 52 7.附录 53
在实际应用中,可能还需要处理更复杂的情况,例如合并单元格、读取数据、设置条件格式、处理图表和公式等。Apache POI 提供了丰富的功能来支持这些需求。如果你需要进一步的代码示例或者导出优化的建议,可以寻求...
在这个场景中,我们关注的是如何使用POI来生成具有合并列的Excel报表。生成这样的报表时,通常是为了呈现层次化的数据,例如组织结构、产品分类或者地区分层等。下面将详细介绍如何利用Apache POI实现这一功能。 ...
你需要指定起始和结束的单元格坐标,POI会将这些单元格合并为一个大的单元格。 在实际应用中,你需要先创建模板,定义好表头的结构,然后根据业务数据动态填充内容。这通常涉及到对单元格样式(字体、颜色、边框等...
在Java编程领域,"poi多表头 excel导出"是一个常见的需求,特别是在数据...同时,理解Excel的内部工作原理,如行和列的索引是从0开始的,合并单元格后其他单元格的数据会被隐藏,这些都对编写正确无误的代码至关重要。
Apache POI 是一个开源项目,专门用于处理微软的Office文档格式,如Word(.doc, .docx)、Excel(.xls, .xlsx)等。在本案例中,我们关注的是如何使用Apache POI将Word文档转换为HTML格式,并且保持原有的样式、表格...