zoukankan      html  css  js  c++  java
  • JXL导出EXCEL 笔记

    常用:

    (1)sheet

    WritableSheet sheet1 = book.createSheet("Sheet1", 0);//Sheet1为名称,0为第1个sheet页

    (2)sheet中单元格添加

    // 指定单元格位置(如:第一列第一行(0, 0))以及单元格内容为(如:小明)
    for (int i = 0; i < heads.length; i++) {
      Label cell = new Label(i, 0, heads[i]);//head[]是一个字符串数组
      // 将定义好的单元格添加到工作表中
      sheet1.addCell(cell);
     }

    (3)单元格添加样式

    // 指定单元格位置(如:第一列第一行(0, 0))以及单元格内容为(如:小明)
    for (int i = 0; i < heads.length; i++) {
      Label cell = new Label(i, 0, heads[i],getHeaderCellStyle());//head[]是一个字符串数组,getHeaderCellStyle()是个单元格样式
      // 将定义好的单元格添加到工作表中
      sheet1.addCell(cell);
     }
    
    
    
    public WritableCellFormat getHeaderCellStyle(){  
              
            /* 
             * WritableFont.createFont("宋体"):设置字体为宋体 
             * 10:设置字体大小 
             * WritableFont.BOLD:设置字体加粗(BOLD:加粗     NO_BOLD:不加粗) 
             * false:设置非斜体 
             * UnderlineStyle.NO_UNDERLINE:没有下划线 
             */  
            WritableFont font = new WritableFont(WritableFont.createFont("宋体"),  
                                                 10,   
                                                 WritableFont.BOLD,   
                                                 false,  
                                                 UnderlineStyle.NO_UNDERLINE);  
              
            WritableCellFormat headerFormat = new WritableCellFormat(NumberFormats.TEXT);  
            try {  
                //添加字体设置  
                headerFormat.setFont(font);  
                //设置单元格背景色:表头为黄色  
                //headerFormat.setBackground(Colour.YELLOW);  
                //设置表头表格边框样式  
                //整个表格线为粗线、黑色  
                //headerFormat.setBorder(Border.ALL, BorderLineStyle.THICK, Colour.BLACK);  
                //表头内容水平居中显示  
                headerFormat.setAlignment(Alignment.CENTRE);      
            } catch (WriteException e) {  
                System.out.println("表头单元格样式设置失败!");  
            }  
            return headerFormat;  
        }  

     (4)分sheet页

    下面每1000条记录,分sheet页,可自己设置

    list可传自己的list,返回为WritableWorkbook类型,heads为表头

    public static WritableWorkbook createWorkBook(OutputStream os,List<UserInfo> list, String[] heads)
                throws IOException, WriteException, RowsExceededException,
                IllegalAccessException, InvocationTargetException,
                NoSuchMethodException {
            int sizeLoop = list.size();
            int size = list.size();
            if(sizeLoop < 1000){       //1000分页
                sizeLoop = 1000;
            }
            int sheetSize = 1000;
            int loopSize = sizeLoop/sheetSize;
            if(sizeLoop%sheetSize!=0){
                loopSize+=1;
            }
            WritableWorkbook ws = Workbook.createWorkbook(os);
            for(int l = 0;l<loopSize;l++){
                WritableSheet sheet = ws.createSheet("第"+(l+1)+"页", l);
                
                for(int i=0;i<heads.length;i++){
                    Label cell = new Label(i,0, heads[i]);
                    sheet.addCell(cell );
                }
                int n = 0;
                for(int i=l*sheetSize;i<(l+1)*sheetSize && i<=size-1;i++){
                    for(int k=0; k < heads.length; k++){
                        Label cell = null;
                        cell = new Label(k, n+1,list.get(i).getName());
                        sheet.addCell(cell);
                    }
                    n++;
                }
            }
            return ws;
        }
  • 相关阅读:
    使用 RestSharp 调用 WebAPI 接口
    Android Studio 下载安装目录
    多线程之await/async
    ScriptX进行Web打印
    Sqlserver 查询最新修改过的表、过程和视图等
    SqlServer中的bit类型
    .Net 6
    PDA 使用总结
    SQL Server 发布订阅 发布类型详解
    Profile对象
  • 原文地址:https://www.cnblogs.com/chenchaochao/p/5718638.html
Copyright © 2011-2022 走看看