jxl导出excel --- 居中 自动换行 边框 样式

Posted skinchqqhah

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jxl导出excel --- 居中 自动换行 边框 样式相关的知识,希望对你有一定的参考价值。

public void writeToExl_GW(ByteArrayOutputStream byteOs)throws Exception{ 
        try{ 
            int timeLength = 0; 
            ITrendService trendService = new TrendServiceImpl(); 
            if(null != stepTime && !"".equals(stepTime)){ 
                timeLength = Integer.valueOf(stepTime); 
            } 
            gwjcList=trendService.querygwjcList(beginTime,endTime,timeLength); 
            String filename="轨温监测历史查询"+ new SimpleDateFormat("yyyy-MM-dd").format(new Date(System.currentTimeMillis())) + ".xls";  
            exportFileName = new String(filename.getBytes("GBK"), "ISO-8859-1"); 
            WritableWorkbook wbook = Workbook.createWorkbook(byteOs); //建立excel文件  
            WritableSheet wsheet = wbook.createSheet("轨温监测历史查询", 0); //工作表名称  
            WritableFont wfont1 = new WritableFont(WritableFont.ARIAL, 9,      //初始化一些样式 
                    WritableFont.NO_BOLD, false, 
                    jxl.format.UnderlineStyle.NO_UNDERLINE, jxl.format.Colour.RED); 
            WritableFont wfont2 = new WritableFont(WritableFont.ARIAL, 10); 
            WritableFont wfont3 = new WritableFont(WritableFont.ARIAL, 9, 
                    WritableFont.NO_BOLD, false, 
                    jxl.format.UnderlineStyle.NO_UNDERLINE, 
                    jxl.format.Colour.AUTOMATIC); 
            WritableFont wfont4 = new WritableFont(WritableFont.ARIAL, 10); 
            WritableCellFormat titleFormat1 = new WritableCellFormat(wfont1); 
            WritableCellFormat titleFormat2 = new WritableCellFormat(wfont2); 
            WritableCellFormat titleFormat3 = new WritableCellFormat(wfont3); 
            WritableCellFormat titleFormat3_1 = new WritableCellFormat(wfont3); 
            WritableCellFormat titleFormat4 = new WritableCellFormat(wfont4); 
            titleFormat1.setVerticalAlignment(VerticalAlignment.CENTRE);     
            titleFormat1.setAlignment(Alignment.CENTRE); 
            titleFormat1.setWrap(true); 
               
            titleFormat2.setVerticalAlignment(VerticalAlignment.CENTRE);   //设置居中对齐 
            titleFormat2.setAlignment(Alignment.CENTRE);//设置居中对齐(这俩哪个是上下/左右对齐也没验证过) 
            titleFormat2.setBackground(jxl.format.Colour.GREY_25_PERCENT);//单元格背景色 
            titleFormat3.setVerticalAlignment(VerticalAlignment.CENTRE); 
            titleFormat3.setAlignment(Alignment.CENTRE); 
            titleFormat3.setWrap(true);//是否自动换行 
            titleFormat3.setBorder(jxl.format.Border.ALL,jxl.format.BorderLineStyle.THIN);//给单元格加边框          titleFormat3_1.setVerticalAlignment(VerticalAlignment.CENTRE); 
            titleFormat3_1.setAlignment(Alignment.CENTRE); 
            titleFormat3_1.setWrap(true); 
            titleFormat3_1.setBackground(jxl.format.Colour.ORANGE); 
            titleFormat3_1.setBorder(jxl.format.Border.ALL,jxl.format.BorderLineStyle.THIN);//Biankuang 
            titleFormat4.setVerticalAlignment(VerticalAlignment.CENTRE); 
            titleFormat4.setAlignment(Alignment.CENTRE); 
            titleFormat4.setBackground(jxl.format.Colour.GRAY_25); 
            titleFormat4.setBorder(jxl.format.Border.ALL,jxl.format.BorderLineStyle.HAIR);//Biankuang 
            StringBuffer title = new StringBuffer(); 
            title.append("轨温监测查询条件:"); 
            title.append("开始时间 ["); 
            title.append(beginTime); 
            title.append("]"); 
            title.append(" 结束时间:["); 
            title.append(endTime); 
            title.append("]"); 
            wsheet.setColumnView(0, 19); 
            wsheet.setRowView(0, 600); 
            wsheet.addCell(new Label(0,0,title.toString(),titleFormat1)); 
            if("1".equals(tdzt)){ 
                title.append(" 启用通道状态"); 
                //设置表头行合并单元格 
                wsheet.mergeCells(0, 0, 9, 0); 
                int rows =1; 
                wsheet.addCell(new Label(0,rows,"时间",titleFormat4)); 
                wsheet.addCell(new Label(1,rows,"左温度(℃)",titleFormat4)); 
                wsheet.addCell(new Label(2,rows,"右温度(℃)",titleFormat4)); 
                wsheet.addCell(new Label(3,rows,"环温(℃)",titleFormat4)); 
                wsheet.addCell(new Label(4,rows,"通道一",titleFormat4)); 
                wsheet.addCell(new Label(5,rows,"通道二",titleFormat4)); 
                wsheet.addCell(new Label(6,rows,"通道三",titleFormat4)); 
                wsheet.addCell(new Label(7,rows,"通道四",titleFormat4)); 
                wsheet.addCell(new Label(8,rows,"通道五",titleFormat4)); 
                wsheet.addCell(new Label(9,rows,"通道六",titleFormat4)); 
                   
                for(int i=0;i<gwjcList.size();i++){ 
                    wsheet.addCell(new Label(0,rows+1,gwjcList.get(i).getSj(),titleFormat3)); 
                    wsheet.addCell(new Label(1,rows+1,gwjcList.get(i).getZwd(),titleFormat3)); 
                    wsheet.addCell(new Label(2,rows+1,gwjcList.get(i).getYwd(),titleFormat3)); 
                    wsheet.addCell(new Label(3,rows+1,gwjcList.get(i).getHw(),titleFormat3)); 
                    wsheet.addCell(new Label(4,rows+1,Integer.valueOf(gwjcList.get(i).getTd1zt())==1?"正   常":"异常",Integer.valueOf(gwjcList.get(i).getTd1zt())==1?titleFormat3:titleFormat3_1)); 
                    wsheet.addCell(new Label(5,rows+1,Integer.valueOf(gwjcList.get(i).getTd2zt())==1?"正常":"异常",Integer.valueOf(gwjcList.get(i).getTd2zt())==1?titleFormat3:titleFormat3_1)); 
                    wsheet.addCell(new Label(6,rows+1,Integer.valueOf(gwjcList.get(i).getTd3zt())==1?"正常":"异常",Integer.valueOf(gwjcList.get(i).getTd3zt())==1?titleFormat3:titleFormat3_1)); 
                    wsheet.addCell(new Label(7,rows+1,Integer.valueOf(gwjcList.get(i).getTd4zt())==1?"正常":"异常",Integer.valueOf(gwjcList.get(i).getTd4zt())==1?titleFormat3:titleFormat3_1)); 
                    wsheet.addCell(new Label(8,rows+1,Integer.valueOf(gwjcList.get(i).getTd5zt())==1?"正常":"异常",Integer.valueOf(gwjcList.get(i).getTd5zt())==1?titleFormat3:titleFormat3_1)); 
                    wsheet.addCell(new Label(9,rows+1,Integer.valueOf(gwjcList.get(i).getTd6zt())==1?"正常":"异常",Integer.valueOf(gwjcList.get(i).getTd6zt())==1?titleFormat3:titleFormat3_1)); 
                    rows= rows +1; 
                } 
            }else{ 
                wsheet.mergeCells(0, 0, 3, 0); 
                int rows =1; 
                wsheet.addCell(new Label(0,rows,"时间",titleFormat4)); 
                wsheet.addCell(new Label(1,rows,"左温度(℃)",titleFormat4)); 
                wsheet.addCell(new Label(2,rows,"右温度(℃)",titleFormat4)); 
                wsheet.addCell(new Label(3,rows,"环温(℃)",titleFormat4)); 
                for(int i=0;i<gwjcList.size();i++){ 
                    wsheet.addCell(new Label(0,rows+1,gwjcList.get(i).getSj(),titleFormat3)); 
                    wsheet.addCell(new Label(1,rows+1,gwjcList.get(i).getZwd(),titleFormat3)); 
                    wsheet.addCell(new Label(2,rows+1,gwjcList.get(i).getYwd(),titleFormat3)); 
                    wsheet.addCell(new Label(3,rows+1,gwjcList.get(i).getHw(),titleFormat3)); 
                    rows = rows +1 ; 
                } 
            } 
            contentType = "application/vnd.ms-excel"; 
            wbook.write(); 
            wbook.close(); 
        }catch(Exception e){ 
            e.printStackTrace(); 
        } 
    } 
    public String exportGW(){ 
        try{ 
            ByteArrayOutputStream byteOs = new ByteArrayOutputStream(); 
            writeToExl_GW(byteOs); 
            byteOs.flush(); 
            excelStream = new ByteArrayInputStream(byteOs.toByteArray(),0,byteOs.toByteArray().length); 
            byteOs.close(); 
        }catch(Exception e){ 
            e.printStackTrace(); 
        } 
        return SUCCESS; 
    }

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow


以上是关于jxl导出excel --- 居中 自动换行 边框 样式的主要内容,如果未能解决你的问题,请参考以下文章

POI导出excel执行自动求和

java jxl 读取excel时读取了很多空行 求解决办法

php控制导出excel的单元格格式

jxl导入/导出excel

怎么解决从php导出的excel文件打开时弹出文件格式不一致问题(还有无边框显示问题,见“问题补充”)

jxl导出Excel报内存溢出...