POI-Excel导出-数字不能使用excel软件的公式计算+数字改为带千分位显示

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_29668759/article/details/85164843

POI-Excel导出

目前还没有完整集成过POI,有时间可以完整的玩一遍,目前还停留在改大佬的代码阶段。

问题1:excel导出数据,发现excel中的数据并不能使用office软件自带的公式进行计算?

实现:

XSSFSheet sheet;
XSSFRow row = sheet.createRow(i + startLine - 1);
XSSFCell cell = row.createCell(j);	//cell就可以理解为一个单元格
//下面是重点,datas[i][j]为待填入数据

if (!StringUtils.isBlank(datas[i][j]) && NumberUtils.isNumber(datas[i][j])) {	//判断数字
	cell.setCellType(XSSFCell.CELL_TYPE_NUMERIC);	//如果是数字,设置为单元格内容为数字类型
	cell.setCellValue(Double.parseDouble(datas[i][j]));
	
}else {
	cell.setCellType(XSSFCell.CELL_TYPE_STRING);
	cell.setCellValue(datas[i][j]);
}

问题2:excel导出的数据,数字要使用带千分位的格式展示,当前也要支持问题1的计算。

例如:
在这里插入图片描述
实现:

XSSFDataFormat format;
//重点:

short s = format.getFormat("###,###,###,###,###,###,###,###,###,###,##0.00###################");	//设置单元格格式
cellStyle.setDataFormat(s);
cell.setCellStyle(cellStyle);
                    	
cell.setCellType(XSSFCell.CELL_TYPE_NUMERIC);	//如果是数字,设置为单元格内容为数字类型
cell.setCellValue(Double.parseDouble(datas[i][j]));

猜你喜欢

转载自blog.csdn.net/qq_29668759/article/details/85164843