导出Excel 设置单元格数据格式

导出Excel 设置单元格的类型

for (.......) {
					
					Boolean isNum = false;//data是否为数值型
			        Boolean isInteger=false;//data是否为整数
			        Boolean isPercent=false;//data是否为百分数
			        if (value != null || "".equals(value)) {
			            //判断data是否为数值型
			            isNum = value.toString().matches("^(-?\\d+)(\\.\\d+)?$");
			            //判断data是否为整数(小数部分是否为0)
			            isInteger=value.toString().matches("^[-\\+]?[\\d]*$");
			            //判断data是否为百分数(是否包含“%”)
			            isPercent=value.toString().contains("%");
			         
			            //如果单元格内容是数值类型,涉及到金钱(金额、本、利),则设置cell的类型为数值型,设置data的类型为数值类型
			            XSSFCell contentCell = row.createCell(colIndex);
			         
		        	  	 String text = "";
						
						 if (isNum && !isPercent) {
				              DataFormat df = wb.createDataFormat(); // 此处设置数据格式
				              if (isInteger) {
				            	  // styleCell.setDataFormat(df.getFormat("#,#0"));//数据格式只显示整数
				            	  styleCell.setDataFormat(df.getFormat("General"));//数据格式只显示整数
				              }else{
				            	  //styleCell.setDataFormat(df.getFormat("#,##0.000"));//保留三位小数点
				            	  styleCell.setDataFormat(df.getFormat("General"));//保留三位小数点
				              }                   
				              // 设置单元格格式
				              contentCell.setCellStyle(styleCell);
				              // 设置单元格内容为double类型
				              contentCell.setCellValue(Double.parseDouble(text));
				              //sheet.autoSizeColumn(colIndex);
				          } else {
				              contentCell.setCellStyle(styleCell);
				              // 设置单元格内容为字符型
				              contentCell.setCellValue(text);
				              //sheet.autoSizeColumn(colIndex);
				          }
						} 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值