java设置excel下拉框,增加背景颜色,内容居中,合并单元格

//创建poi导出数据对象
SXSSFWorkbook sxssfWorkbook=new SXSSFWorkbook();
//创建sheet页
SXSSFSheet sheet=sxssfWorkbook.createSheet("附加费导入模板");
//创建表头
SXSSFRow headRow=sheet.createRow(0);
//设置表头信息
SXSSFCell cell1 = headRow.createCell(0);
cell1.setCellValue("订单号");
SXSSFCell cell2 =headRow.createCell(1);
cell2.setCellValue("附加费类型");
SXSSFCell cell3 =headRow.createCell(2);
cell3.setCellValue("附加费");
SXSSFCell cell4 =headRow.createCell(3);
cell4.setCellValue("附加费备注");
SXSSFCell cell5 =headRow.createCell(4);
cell5.setCellValue("完成时间");
SXSSFCell cell6 =headRow.createCell(5);
cell6.setCellValue("唯一码");

String[] values;
if (type.equals("1")) {
    values = new String[]{"远程费", "椅子", "搬运费", "实木款", "其它"};
} else {
    values = new String[]{"远程费", "配件费", "补漆", "拆卸打包", "其它"};
}

//设置下拉框位置
CellRangeAddressList addressList = new CellRangeAddressList(1, 5000, 1, 1);
DataValidationHelper helper = sheet.getDataValidationHelper();
// 设置下拉框数据
DataValidationConstraint constraint = helper.createExplicitListConstraint(values);
DataValidation dataValidation = helper.createValidation(constraint, addressList);
sheet.addValidationData(dataValidation);

//设置样式
CellStyle titleStyle = sxssfWorkbook.createCellStyle();
//设置背景色
titleStyle.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex());
//必须设置 否则背景色不生效
titleStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
cell1.setCellStyle(titleStyle);
cell2.setCellStyle(titleStyle);
cell3.setCellStyle(titleStyle);
cell4.setCellStyle(titleStyle);
cell5.setCellStyle(titleStyle);
cell6.setCellStyle(titleStyle);

//内容居中
//CellStyle cellStyle=sxssfWorkbook.createCellStyle();
//cellStyle.setAlignment(HorizontalAlignment.CENTER);
//cell5.setCellStyle(cellStyle);

//合并单元格
//SXSSFCell cell5 =headRow.createCell(4);
//cell5.setCellValue("神娱");
//CellRangeAddress region5=new CellRangeAddress(开始行下标,结束行下标,开始列下标,结束列下标);
//sheet.addMergedRegion(region5);
// 下载导出
String filename="附加费导入模板";
// 设置头信息
response.setCharacterEncoding("UTF-8");
response.setContentType("application/vnd.ms-excel");
//一定要设置成xlsx格式
response.setHeader("Content-Disposition","attachment;filename="+ URLEncoder.encode(filename+".xlsx","UTF-8"));
//创建一个输出流
ServletOutputStream outputStream=response.getOutputStream();
//写入数据
sxssfWorkbook.write(outputStream);
// 关闭
outputStream.close();
sxssfWorkbook.close();

导出结果如下:

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值