public void merge(int startrow,int endstartrow,int startColumn,int endColumn){
sht.addMergedRegion(new CellRangeAddress(startrow, endstartrow, startColumn, endColumn));
}

合并单元格时候  合并后的单元格部分边框会看不见。从而进行处理。

下面是处理样式的 方法。 单元格设置边框

public void setStyle(int size, int color, boolean isBold, boolean isItalic, int backgroudColor, int align, int valign)
{
style = wb.createCellStyle();
style.setBorderBottom(HSSFCellStyle.BORDER_THIN);
style.setBottomBorderColor(HSSFColor.BLACK.index);
style.setBorderLeft(HSSFCellStyle.BORDER_THIN);
style.setLeftBorderColor(HSSFColor.BLACK.index);
style.setBorderRight(HSSFCellStyle.BORDER_THIN);
style.setRightBorderColor(HSSFColor.BLACK.index);
style.setBorderTop(HSSFCellStyle.BORDER_THIN);
style.setTopBorderColor(HSSFColor.BLACK.index);
HSSFFont font = wb.createFont();
font.setColor((short)color);
font.setFontHeightInPoints((short)size);
if (isBold)
{
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
}
else
{
font.setBoldweight(HSSFFont.BOLDWEIGHT_NORMAL);
}
font.setItalic(isItalic);
style.setFont(font);
style.setFillForegroundColor((short)backgroudColor);
style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
style.setAlignment((short)align);
style.setVerticalAlignment((short)valign);
}

然而并无卵用,一直出现 单元格无边框。几个单元格都出现相同效果。总结是合并单元格的 最后一个单元格 的边框总是有一边不显示。

最后解决办法是挺简单的,只要给最后那个单元格里面放一个空字符串。问题就解决了。

ew.putData(1, 1, 1, "");

ew是放数据的。

public void putData(int shtidx, int rowidx, int colidx, Object data)
{
if (rowidx > bounder)
{
try
{
wb.getSheetAt(shtidx);
}
catch (IndexOutOfBoundsException e)
{
wb.createSheet();
wb.setSheetName(shtidx, "Sheet " + (shtidx + 1));
}
sht = wb.getSheetAt(shtidx);
}
if (sht.getRow(rowidx) == null)
{
sht.createRow(rowidx);
}
row = sht.getRow(rowidx); if (row.getCell(colidx) == null)
{
row.createCell(colidx);
}
cell = row.getCell(colidx); if (data instanceof Double)
{
Double d = (Double)data;
cell.setCellValue(d);
}
else if (data instanceof Integer)
{
Integer i = (Integer)data;
cell.setCellValue(i);
}
else if (data instanceof Date)
{
Date d = (Date)data;
cell.setCellValue(d);
}
else if (data instanceof String)
{
String s = (String)data;
cell.setCellValue(s);
}
else
{
String s;
if (data == null)
{
data = new String("");
}
s = data.toString();
cell.setCellValue(s);
} cell.setCellStyle(style);
}

poi 合并单元格 无边框问题的更多相关文章

  1. java poi 合并单元格后边框问题

    在项目中用poi合并单元格,但发现边框会有不显示的问题. 在网上搜集了答案,来记录一下. 解决方法: 将每个没用到的单元格都设空值. 例如: HSSFCell cell = row.createCel ...

  2. apache poi合并单元格设置边框

    HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb.createSheet(); //创建一个样式 HSSFCellStyle sty ...

  3. poi合并单元格同时导出excel

    poi合并单元格同时导出excel POI进行跨行需要用到对象HSSFSheet对象,现在就当我们程序已经定义了一个HSSFSheet对象sheet. 跨第1行第1个到第2个单元格的操作为 sheet ...

  4. java poi 合并单元格

    java poi 合并单元格 2017年03月29日 16:39:01 翠烟你懊恼 阅读数:26561   版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.n ...

  5. poi 合并单元格、设置边框

    HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb.createSheet(); //创建一个样式 HSSFCellStyle sty ...

  6. python3-xlwt-Excel设置(字体大小、颜色、对齐方式、换行、合并单元格、边框、背景、下划线、斜体、加粗)

    搬运出处: https://blog.csdn.net/weixin_44065501/article/details/88899257 # coding:utf-8 import patterns ...

  7. Apache POI 合并单元格

    合并单元格所使用的方法: sheet.addMergedRegion( CellRangeAddress  cellRangeAddress  );   CellRangeAddress  对象的构造 ...

  8. Apache POI 合并单元格--简单解释版带Demo

    合并单元格所使用的方法: sheet.addMergedRegion( CellRangeAddress  cellRangeAddress  );   CellRangeAddress  对象的构造 ...

  9. java poi导出Excel合并单元格并设置边框

    import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; i ...

随机推荐

  1. 字符集与字符编码 (charset & encoding)

    乱码是个大坑,相信每个人都遇过,而且是个绕不过去的坑.我理解每个程序员都应该写一篇编码相关的博文,梳理自己对这一块的理解,下面是我反复理解多次之后的学习小结. 1.从记事本的不同编码说起: 打开记事本 ...

  2. Hello Struts2

    Struts2 概述 Struts2 是一个用来开发 MVC 应用程序的框架. 它提供了 Web 应用程序开发过程中的一些常见问题的解决方案: 对来自用户的输入数据进行合法性验证; 统一的布局; 可扩 ...

  3. Android Support ;v4、v7、v13的区别

    google提供了Android Support Library package系列的包来保证来高版本sdk开发的向下兼容性,即我们用4.x开发时,在1.6等版本上,可以使用高版本的有些特性,如fra ...

  4. Android ViewPager自动播放

    在开发Android应用的过程中,ViewPager有时候需要自动播放的功能,今天就介绍一下自动播放功能的实现,直接上代码: // viewpager auto play private static ...

  5. a Makefile

    obj-m += showpid.o obj-m += ps.o all: make -C /lib/modules/$(shell uname -r)/build M=$(shell pwd) mo ...

  6. springMVC文件上传(转)

    原文链接: http://www.cnblogs.com/lonecloud/p/5989905.html 在Spring-mvc.xml注入bean 1 <!-- 配置文件上传,如果没有使用文 ...

  7. HTML5实战教程———开发一个简单漂亮的登录页面

    最近看过几个基于HTML5开发的移动应用,比如臭名昭著的12036移动客户端就是主要使用HTML5来实现的,虽然还是有点反应迟钝,但已经比较流畅了,相信随着智能手机的配置越来越高性能越来越好,会越来越 ...

  8. 基于反射的通过set方法的依赖注入,可以看成一种设计模式,自己来用

    非常好用,在properties文件中配置字符串和类名之间的对应,在程序里读取文件,找到类名,通过反射,达到调用set方法的目的,然后直接将自己的指向其他类的对象的引用赋值,指向实体对象. 比如use ...

  9. ASP.NET是如何在IIS下工作的[转]

    ASP.NET与IIS是紧密联系的,由于IIS6.0与IIS7.0的工作方式的不同,导致ASP.NET的工作原理也发生了相应的变化. IIS6(IIS7的经典模式)与IIS7的集成模式的不同 IIS6 ...

  10. 《Java程序性能优化:让你的Java程序更快、更稳定》

    Java程序性能优化:让你的Java程序更快.更稳定, 卓越网更便宜,不错的书吧