java数据透视表_java poi生成数据透视表

这篇博客介绍如何利用Apache POI库在Java中创建数据透视表,详细讲解了ExcelCellPojo类中不同样式的设置,包括表头、默认单元格、日期单元格、标题和数字类型的单元格样式,涉及边框、对齐方式、字体和颜色等元素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

packagecn.com.zhengya.framework.utils.excel.entity;importorg.apache.poi.hssf.usermodel.HSSFDataFormat;import org.apache.poi.ss.usermodel.*;/*** Excel默认样式

*@authorluwl*/

public classExcelCellPojo {/*** 表头样式*/

privateCellStyle headerStyle;/*** 默认单元格样式*/

privateCellStyle cellStyle;/*** 标题栏样式*/

privateCellStyle titleCellStyle;/*** 日期单元格样式*/

privateCellStyle dateCellStyle;/*** 数字类型单元格样式*/

privateCellStyle doubleCellStyle;publicExcelCellPojo(Workbook wb){this.setHeaderStyle(wb);this.setCellStyle(wb);this.setDateCellStyle(wb);this.setTitleCellStyle(wb);this.setDoubleCellStyle(wb);

}publicCellStyle getHeaderStyle() {returnheaderStyle;

}publicCellStyle getCellStyle() {returncellStyle;

}publicCellStyle getDateCellStyle() {returndateCellStyle;

}publicCellStyle getTitleCellStyle() {returntitleCellStyle;

}publicCellStyle getDoubleCellStyle() {returndoubleCellStyle;

}private voidsetHeaderStyle(Workbook wb){//生成表头单元样式

headerStyle =wb.createCellStyle();//表头样式

headerStyle.setFillForegroundColor((short)1);

headerStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);//表头边框

headerStyle.setBorderBottom(BorderStyle.THIN);

headerStyle.setBorderLeft(BorderStyle.THIN);

headerStyle.setBorderRight(BorderStyle.THIN);

headerStyle.setBorderTop(BorderStyle.THIN);//水平方向-居中对齐

headerStyle.setAlignment(HorizontalAlignment.CENTER);//垂直方向-垂直居中

headerStyle.setVerticalAlignment(VerticalAlignment.CENTER);//字体

Font font =wb.createFont();//字体大小

font.setFontHeightInPoints((short) 16);//字体加粗

font.setBold(true);

headerStyle.setFont(font);

}private voidsetCellStyle(Workbook wb){//生成单元格式样(基础式样)

cellStyle =wb.createCellStyle();

cellStyle.setBorderBottom(BorderStyle.THIN);

cellStyle.setBorderLeft(BorderStyle.THIN);

cellStyle.setBorderRight(BorderStyle.THIN);

cellStyle.setBorderTop(BorderStyle.THIN);//水平方向-居中对齐

cellStyle.setAlignment(HorizontalAlignment.CENTER);//垂直方向-垂直居中

cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);

cellStyle.setWrapText(true);

}private voidsetDateCellStyle(Workbook wb){//生成单元格式样-日期类型(yyyy/mm/dd日期格式)

dateCellStyle =wb.createCellStyle();

dateCellStyle.cloneStyleFrom(this.cellStyle);

DataFormat format=wb.createDataFormat();

dateCellStyle.setDataFormat(format.getFormat("yyyy/mm/dd"));

}private voidsetTitleCellStyle(Workbook wb) {//生成标题单元格样式

titleCellStyle =wb.createCellStyle();//表头样式

titleCellStyle.setFillForegroundColor((short)1);

titleCellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);//表头边框

titleCellStyle.setBorderBottom(BorderStyle.THIN);

titleCellStyle.setBorderLeft(BorderStyle.THIN);

titleCellStyle.setBorderRight(BorderStyle.THIN);

titleCellStyle.setBorderTop(BorderStyle.THIN);//水平方向-居中对齐

titleCellStyle.setAlignment(HorizontalAlignment.CENTER);//垂直方向-垂直居中

titleCellStyle.setVerticalAlignment(VerticalAlignment.CENTER);//字体

Font font =wb.createFont();//字体大小

font.setFontHeightInPoints((short) 20);

titleCellStyle.setFont(font);

}private voidsetDoubleCellStyle(Workbook wb) {//生成单元格式样(基础式样)

doubleCellStyle =wb.createCellStyle();

doubleCellStyle.setBorderBottom(BorderStyle.THIN);

doubleCellStyle.setBorderLeft(BorderStyle.THIN);

doubleCellStyle.setBorderRight(BorderStyle.THIN);

doubleCellStyle.setBorderTop(BorderStyle.THIN);//水平方向-居中对齐

doubleCellStyle.setAlignment(HorizontalAlignment.CENTER);//垂直方向-垂直居中

doubleCellStyle.setVerticalAlignment(VerticalAlignment.CENTER);

doubleCellStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("0.00"));

doubleCellStyle.setWrapText(true);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值