关于项目中pio导出的多个sheel工作表以及水平居中样式的记录

先上效果图
在这里插入图片描述此为poi导出后的样式,我用的是apache的poi

实现代码

//excel文件名
            String fileName = "局方动力巡检详情表" + System.currentTimeMillis() + ".xls";
//sheet名
            String sheetName = "局方动力巡检页";
//先创建一个list集合放自己的sheel标题
   List<String> listAgent = new ArrayList<String>();
    if(bureauInfo.getBureauType().equals("1")){
                listAgent.add("国大高低配巡检记录");
            }else{
                listAgent.add("江滨高低配巡检记录");
                listAgent.add("江滨移动油机巡检记录");
            }
            listAgent.add("固定油机巡检记录");
            listAgent.add("储油箱巡检记录");
           
           
//循环在每个sheel中放值以及样式
  for(int i=0;i<listAgent.size();i++){
                //遍历list中的工作表
                HSSFSheet sheet = wb.createSheet(listAgent.get(i));
                //前三个单元格合并(参数1:起始行 参数2:终止行 参数3:起始列 参数4:终止列号)
                CellRangeAddress region1 = new CellRangeAddress(0,0,0,2);
                sheet.addMergedRegion(region1);
                //创建第一行
                HSSFRow row1 = sheet.createRow(0);
               //设置第一行的单元格
                HSSFCell cell1 = row1.createCell(0);
                HSSFCell cell2 = row1.createCell(1);
                HSSFCell cell3 = row1.createCell(2);
                cell1.setCellValue(listAgent.get(i));

                /设置样式     ----
                HSSFCellStyle cellStyle = wb.createCellStyle()
                cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 水平居中
                cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);//垂直居中
                
		       //设置列样式0代表下标,cellStye为上面创建的表格样式
                sheet.setDefaultColumnStyle(0, cellStyle);
                sheet.setDefaultColumnStyle(1, cellStyle);
                sheet.setDefaultColumnStyle(2, cellStyle);
                
				//设置列宽第一个参数为下标,第二个参数为长度
                sheet.setColumnWidth(0,30*256);
                sheet.setColumnWidth(1,60*256);
                sheet.setColumnWidth(2,60*256);

                //合并单元格
                CellRangeAddress region2 = new CellRangeAddress(1,1,0,1);
                sheet.addMergedRegion(region2);
                //第二行
                HSSFRow rowFirst = sheet.createRow(1);
                // 获取第一行的第一个单元格
                rowFirst.createCell(0).setCellValue("巡检人员:");
                rowFirst.createCell(2).setCellValue(masaUsers.getfName());

                //第三行
                //合并单元格
                CellRangeAddress region3 = new CellRangeAddress(2,2,0,1);
                sheet.addMergedRegion(region3);
                HSSFRow rowFirst1 = sheet.createRow(2);

                rowFirst1.createCell(0).setCellValue("巡检时间:");
                rowFirst1.createCell(2).setCellValue(bureauInspection.getInspectionTime());

                //第四行
                //合并单元格
                CellRangeAddress region4 = new CellRangeAddress(3,3,0,1);
                sheet.addMergedRegion(region4);
                HSSFRow rowFirst3 = sheet.createRow(3);
                rowFirst3.createCell(0).setCellValue("机房名称:");
                rowFirst3.createCell(2).setCellValue(bureauInfo.getBureauName());
                
		if("国大高低配巡检记录".equals(listAgent.get(i))){
                    CellRangeAddress region5 = new CellRangeAddress(4,16,0,0);
                    sheet.addMergedRegion(region5);
                    //第五行
                    HSSFRow rowFirst4 = sheet.createRow(4);
                    rowFirst4.createCell(0).setCellValue("高低配设备");


                    rowFirst4.createCell(1).setCellValue("温度( ℃):");
                    rowFirst4.createCell(2).setCellValue(bureauGdHighlows.getTemperature());
                   //代码后面的不贴了
		}       
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值