poi 合并单元格 无边框问题
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 合并单元格 无边框问题的更多相关文章
- java poi 合并单元格后边框问题
在项目中用poi合并单元格,但发现边框会有不显示的问题. 在网上搜集了答案,来记录一下. 解决方法: 将每个没用到的单元格都设空值. 例如: HSSFCell cell = row.createCel ...
- apache poi合并单元格设置边框
HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb.createSheet(); //创建一个样式 HSSFCellStyle sty ...
- poi合并单元格同时导出excel
poi合并单元格同时导出excel POI进行跨行需要用到对象HSSFSheet对象,现在就当我们程序已经定义了一个HSSFSheet对象sheet. 跨第1行第1个到第2个单元格的操作为 sheet ...
- java poi 合并单元格
java poi 合并单元格 2017年03月29日 16:39:01 翠烟你懊恼 阅读数:26561 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.n ...
- poi 合并单元格、设置边框
HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb.createSheet(); //创建一个样式 HSSFCellStyle sty ...
- python3-xlwt-Excel设置(字体大小、颜色、对齐方式、换行、合并单元格、边框、背景、下划线、斜体、加粗)
搬运出处: https://blog.csdn.net/weixin_44065501/article/details/88899257 # coding:utf-8 import patterns ...
- Apache POI 合并单元格
合并单元格所使用的方法: sheet.addMergedRegion( CellRangeAddress cellRangeAddress ); CellRangeAddress 对象的构造 ...
- Apache POI 合并单元格--简单解释版带Demo
合并单元格所使用的方法: sheet.addMergedRegion( CellRangeAddress cellRangeAddress ); CellRangeAddress 对象的构造 ...
- java poi导出Excel合并单元格并设置边框
import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; i ...
随机推荐
- bzoj 1854: [Scoi2010]游戏
#include<cstdio> #include<iostream> #include<cstring> #define M 2000008 using name ...
- https://github.com/oneuijs/You-Dont-Need-jQuery
https://github.com/oneuijs/You-Dont-Need-jQuery
- How to setup SVN?
2014-01-08 11:43:50 如何简单设置SVN(前提是SVN已经安装) 1. 创建一个目录: mkdir -p ~/svn/2.1.J.1.1 2. 进入新创建的目录: cd svn/2. ...
- 采用EntLib5.0(Unity+Interception+Caching)实现项目中可用的Caching机制
看了园子里很多介绍Caching的文章,多数都只介绍基本机制,对于Cache更新和依赖部分,更是只简单的实现ICacheItemRefreshAction接口,这在实际项目中是远远不够的.实际项目中, ...
- JavaScript 数组方法和属性
一. 数组对象的操作方法 1. 数组的创建 2.prototype属性 返回对象原型的引用,prototype属性时object共有的. objectName.prototype,其中objectNa ...
- 关于java中super()和this()
在java中this表示当前类中的对象,super则表示父类中的对象.比如当前对象的某个方法,或当前对象的某个成员,你便可以利用this来实现这个目的,当然,this的另一个用途是调用当前对象的另一个 ...
- 经典线程同步 信号量Semaphore
阅读本篇之前推荐阅读以下姊妹篇: <秒杀多线程第四篇一个经典的多线程同步问题> <秒杀多线程第五篇经典线程同步关键段CS> <秒杀多线程第六篇经典线程同步事件Event& ...
- redis 详解
什么是redis? redis 是一个基于内存的高性能key-value数据库. (有空再补充,有理解错误或不足欢迎指正) Reids的特点 Redis本质上是一个Key-Value类型的内存数据库, ...
- C# Sandboxer
public static string IsolateCallV1(PageContentHandler pHandler) { string name = Guid.NewGuid().ToStr ...
- Unknown type name “CGFloat
一.编绎显示Unknown type name “CGFloat” 错误解决方法 将Compile Sources As 改为 Objective-C++ 二.如果是extern const引起的. ...