`
chenyunhong
  • 浏览: 139722 次
  • 性别: Icon_minigender_1
  • 来自: 真的不知道
社区版块
存档分类
最新评论

关于POI合并单元格后加边框问题,请大家拍砖

    博客分类:
  • Java
阅读更多

最近由于项目需要用到了POI来生成Excel表格,遇到单元格合并以后怎么加边框,老是解决不了,特意上来请教一下
在网上找了一堆,都不行。
自己写了一个笨方法,可以实现列合并加边框,但是行合并就不行了,方法如下:

/**
	 * 合并单元格加边框  水平
	 * @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);   这样可以设置

 

关于合并行设置也写了一个,但是不行,方法如下:

/**
	 * 合并单元格加边框  垂直
	 * @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样式(里面有设置边框)

 

  下面是调用代码:

//第二行 制表时间
		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);
 

 

请高手指教一下,有什么好的方法么?

 

  • 大小: 111.7 KB
分享到:
评论

相关推荐

    POI操作Excel合并单元格边框问题解决方法

    POI操作Excel 合并单元格 边框问题解决方法,这个方法是我亲自测试,并运用于项目中的,可以放心使用,还一并写出了很多注释,其中有写poi的bug的解决方法

    关于java EXCEL poi 合并后无法显示或无法设置边框问题

    关于java EXCEL poi 合并后无法显示或无法设置边框问题 【本人亲测】 excel poi 新手! 坑了1.5天!

    java excel poi合并单元格

    此外,还可以设置单元格的样式,如字体、颜色、边框等,以使合并后的单元格更加美观。`XSSFCellStyle`类提供了这些功能,你可以创建样式对象,设置属性,然后将其应用于单元格。 总结,Java通过Apache POI库可以...

    poi获取合并单元格

    ### POI 获取合并单元格详解 #### 一、概述 Apache POI 是一个流行的 Java 库,用于处理 Microsoft Office 格式的文档,如 Word、Excel 和 PowerPoint。在本篇文章中,我们将详细介绍如何使用 POI 处理 Excel 文件...

    POI合并单元格

    java POI导出Excel文件多表头文件

    poi读取合并单元格帮助类

    在Excel中,合并单元格是指将多个连续的单元格合并成一个单元格来显示数据。这在表格布局设计中非常有用,可以提高数据的可读性和美观性。然而,这对于数据处理来说是一个挑战,因为合并单元格实际上可能包含来自...

    poi获取exccel有合并单元格的数据

    ### 使用Apache POI获取含有合并单元格的Excel数据并存储为List 在处理Excel文档时,经常需要读取其中的数据并进行进一步的操作。当Excel文件中含有合并单元格时,简单的读取方法可能无法准确地获取到所有数据。...

    POI 合并单元格 及 注意事项

    POI 合并单元格 及 注意事项

    利用poi进行excel相同内容合并单元格并转成流输出

    利用poi进行excel相同内容合并单元格,只摘要了传入部分功能,请关注addMergedRegion方法

    poi生成Excel及合并单元格示例

    单元格合并是通过 `Sheet` 对象的 `mergeRegion` 方法实现的,该方法接受两个参数,分别表示要合并的区域的起始和结束单元格索引: ```java // 合并从第二列到第四列的单元格(索引从0开始) sheet.mergeRegions...

    POI读取Excel合并单元格并储存

    本文将深入探讨如何使用Java的Apache POI库来读取Excel文件,并处理其中合并单元格的数据,同时将这些数据存储到实体类中以供后续使用。 Apache POI是一个强大的库,允许程序员使用Java来创建、修改和显示Microsoft...

    poi导入/导出Excel表格,合并单元格的读取和设置

    poi导入/导出Excel表格,合并单元格的读取和设置

    使用XSSFWorkbook自由合并单元格并设置单元格样式

    本主题将深入探讨如何利用Java的Apache POI库中的XSSFWorkbook类来实现自由合并单元格,并设置单元格样式。Apache POI是一个流行的API,它允许开发者读取、创建和修改Microsoft Office格式的文件,包括Excel。 首先...

    easyuiPoi导出Excel工具类封装(支持合并单元格)

    4. 保存和导出:完成数据填充和合并后,调用`Workbook`对象的`write()`方法将工作簿写入到输出流,然后可以提供给用户下载。 在描述中提到的“支持纵向合并单元格(合并重复内容)”可能是指在数据填充时,如果相邻...

    用NPOI创建Excel、合并单元格、设置单元格样式、边框的方法

    在本文中,我们将深入探讨如何使用NPOI创建Excel文件,并进行单元格的样式设置,包括合并单元格、设置字体样式、边框以及对齐方式。 首先,创建一个新的Excel工作簿(HSSFWorkbook)是开始操作的基础。以下代码展示...

    java poi 填充word(合并单元格,添加图片,设置字号)(csdn)————程序.pdf

    `mergeCells(cellStart, cellEnd)`函数执行实际的单元格合并。 5. **设置对齐方式和字体**: `builder.getParagraphFormat().setAlignment(ParagraphAlignment.LEFT)`将段落对齐方式设置为左对齐。`宋体;font-size...

    excel poi工具类 导入 导出 合并单元格 计算公式

    以上就是关于使用Apache POI进行Excel操作的核心知识点,包括导入、导出、合并单元格以及处理计算公式的方法。在实际项目中,可以根据需求进行更复杂的功能定制,如设置单元格格式、读取数据验证规则等。

    excel合并单元格导入

    1. **合并单元格的概念**:在Excel中,合并单元格是指将一个或多个相邻的单元格合并成一个大单元格,这样内容将只显示在左上角的单元格中,而其他单元格则为空。 2. **数据处理问题**:在编程中,如Python的Pandas...

    POI导出Excel工具类,自动设置标题 列名 文件名,可插入图片,合并单元格

    在这个场景中,我们关注的是如何使用POI来创建一个功能丰富的Excel导出工具类,它能够自动设置标题、列名、文件名,并且支持插入图片以及合并单元格。下面将详细介绍这些功能的实现。 首先,要创建一个Excel工作簿...

    POI合并多个相同的Excel或者合并Word文件

    2. 创建目标文件:创建一个新的`Workbook`对象,这将是合并后的结果。 3. 遍历源文件:对于每个源文件的工作表,使用`Workbook.getSheet()`获取`Sheet`对象,然后遍历每个`Sheet`的`Row`。 4. 复制数据:将源文件的...

Global site tag (gtag.js) - Google Analytics