`
Hermosa_Young
  • 浏览: 249278 次
  • 来自: 上海
社区版块
存档分类
最新评论

POI导出Excel表格,去掉数字框的左上角绿色的小三角

    博客分类:
  • Java
阅读更多

在用POI导出Excel表格,数字框的左上角有个绿色的小三角,看着很不舒服,如下图所示:

 



目的:当单元格为数字时,不要转为文本输出,就直接按数字格式输出,去掉左上角的绿色小三角形。

 

解决办法:在网上找了很多资料,在我这里都不管用,我的解决思路,是改变单元格样式,设置为数值型,然后判断要输出的单元格内容,如果为数值型,直接输出,其他都转为字符串类型,按字符串输出,如果有Date型,也一并转为字符串。

 

首先设置单元格类型:

 

public static HSSFCellStyle getContentStyle (HSSFWorkbook workbook) {
     HSSFCellStyle contentStyle = workbook.createCellStyle(); //设置内容行格式
     contentStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);  
     contentStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);//上下居中   
     contentStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);  
     contentStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);  
     contentStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);  
     contentStyle.setBorderRight(HSSFCellStyle.BORDER_THIN); 
     HSSFDataFormat df = workbook.createDataFormat();  //此处设置数据格式
     contentStyle.setDataFormat(df.getFormat("#,#0")); //数据格式只显示整数,如果是小数点后保留两位,可以写contentStyle.setDataFormat(df.getFormat("#,#0.00"));
     return contentStyle;
}

 

判断要导出的数据类型:

 

if(map3.get(key)==null) {
					
					NameContent.setCellValue("");
				} else {
					
					if(map3.get(key).getClass().getName().equals("java.lang.Integer")) {        //判断数据输出类型
						
						NameContent.setCellStyle(contentStyle);                                 //一定要先设置单元格数据类型
						NameContent.setCellValue( Double.parseDouble(map3.get(key).toString()));//再输出数据
						
					}else {
						
						NameContent.setCellStyle(contentStyle);
						NameContent.setCellValue(map3.get(key).toString());
					}
				}

 

注意事项:先设置数据类型!!!

 

修改以后的效果图,如下所示:

 



参考文章:

http://biancheng.dnbcw.info/java/102139.html

http://blog.csdn.net/soundfly/article/details/7397764

 

  • 大小: 80.4 KB
  • 大小: 12.2 KB
2
0
分享到:
评论
1 楼 羽翼的心动 2017-01-05  
POI中对Word处理,读取不到书签。如果要处理书签的话,就只能使用Jacob,但是使用Jacob的话,要求服务器端必须安装微软的Office软件,这样做有两个致命的地方:1. 服务器如果是Linux的话,肯定不能使用;2. Jacob使用的是Office的自动化技术,很容易在服务器上产生Office的死进程,死锁服务器端的内存资源,直到内存耗尽,宕机重启。而且POI的代码非常复杂。
推荐楼主使用PageOffice产品,导入导出word,excel都很方便,代码非常少。PageOffice还可以在线编辑保存动态填充word,excel文档呢。

相关推荐

Global site tag (gtag.js) - Google Analytics