zoukankan      html  css  js  c++  java
  • 导出Excel文件模板

    /**
         * 模板
         * @param list
         * @return
         * @date  2019年4月2日 下午7:13:26
         */
        public HSSFWorkbook doexportZycrhhldmsz(List<?> listAre,List<?> tblistAre){
            String[] excelHeader = { "城市", "PM2.5", "PM2.5", "PM2.5", "PM2.5", "优良天数比率", "优良天数比率", "优良天数比率", "优良天数比率"};    
            String[] excelHeader2 = { "城市", "现状", "现状", "省内排名","省内排名","现状","现状","省内排名","省内排名"}; 
            String[] excelHeader3 = { "城市", "浓度值(μg/m³)", "同比变化情况(%)","名次","变动情况","比率(%)","同比变化情况(%)","名次","变动情况"}; 
            // 单元格列宽  
    //        int[] excelHeaderWidth = { 100, 180, 120, 150, 200, 80, 200 }; 
            HSSFWorkbook wb = new HSSFWorkbook();    
            HSSFSheet sheet = wb.createSheet("data");   
            
            HSSFRow row = sheet.createRow((int) 0);    
            HSSFRow row1 = sheet.createRow((int) 1); 
            HSSFRow row2 = sheet.createRow((int) 2); 
            HSSFCellStyle style = wb.createCellStyle();    
         // 设置居中样式  
            style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 水平居中  
            style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER); // 垂直居中      
            style.setBorderBottom(HSSFCellStyle.BORDER_THIN);
            style.setBorderLeft(HSSFCellStyle.BORDER_THIN);
            style.setBorderRight(HSSFCellStyle.BORDER_THIN);
            style.setBorderTop(HSSFCellStyle.BORDER_THIN);
        
    //        // 设置列宽度(像素)  
    //        for (int i = 0; i < excelHeaderWidth.length; i++) {  
    //            sheet.setColumnWidth(i, 32 * excelHeaderWidth[i]);  
    //        } 
            //int firstRow, int lastRow, int firstCol, int lastCol
            sheet.addMergedRegion(new CellRangeAddress(0,2,0,0));
            sheet.addMergedRegion(new CellRangeAddress(0,0,1,4));
            sheet.addMergedRegion(new CellRangeAddress(0,0,5,8));
            sheet.addMergedRegion(new CellRangeAddress(1,1,1,2));
            sheet.addMergedRegion(new CellRangeAddress(1,1,3,4));
            sheet.addMergedRegion(new CellRangeAddress(1,1,5,6));
            sheet.addMergedRegion(new CellRangeAddress(1,1,7,8));
            sheet.addMergedRegion(new CellRangeAddress(2,2,1,1));
            sheet.addMergedRegion(new CellRangeAddress(2,2,2,2));
            sheet.addMergedRegion(new CellRangeAddress(2,2,3,3));
            sheet.addMergedRegion(new CellRangeAddress(2,2,4,4));
            sheet.addMergedRegion(new CellRangeAddress(2,2,5,5));
            sheet.addMergedRegion(new CellRangeAddress(2,2,6,6));
            sheet.addMergedRegion(new CellRangeAddress(2,2,7,7));
            sheet.addMergedRegion(new CellRangeAddress(2,2,8,8));
            for (int i = 0; i < excelHeader.length; i++) {    
                HSSFCell cell = row.createCell(i);    
                cell.setCellValue(excelHeader[i]);    
                cell.setCellStyle(style);    
                sheet.autoSizeColumn(i);    
            }    
            for (int i = 0; i < excelHeader2.length; i++) {    
                HSSFCell cell = row1.createCell(i);    
                cell.setCellValue(excelHeader2[i]);    
                cell.setCellStyle(style);    
                sheet.autoSizeColumn(i);    
            }
            for (int i = 0; i < excelHeader3.length; i++) {    
                HSSFCell cell = row2.createCell(i);    
                cell.setCellValue(excelHeader3[i]);    
                cell.setCellStyle(style);    
                sheet.autoSizeColumn(i);    
            } 
            for(int i=0;i<listAre.size();i++){
                Object[] arr1 = (Object[]) listAre.get(i);
                for(int j=0;j<tblistAre.size();j++){
                    Object[] arr2 = (Object[]) tblistAre.get(j);
                    if(arr1[0].equals(arr2[0])){
                        row = sheet.createRow(i + 3);
                        HSSFCell cell0 = row.createCell(0);
                        HSSFCell cell1 = row.createCell(1);
                        HSSFCell cell2 = row.createCell(2);
                        HSSFCell cell3 = row.createCell(3);
                        HSSFCell cell4 = row.createCell(4);
                        HSSFCell cell5 = row.createCell(5);
                        HSSFCell cell6 = row.createCell(6);
                        HSSFCell cell7 = row.createCell(7);
                        HSSFCell cell8 = row.createCell(8);
                        cell0.setCellValue(arr1[0].toString());   
                        cell0.setCellStyle(style);
                        cell1.setCellValue(arr1[1].toString());    
                        cell1.setCellStyle(style);
                        cell2.setCellValue(String.format("%.1f", Double.valueOf(arr1[1].toString())*100/Double.valueOf(arr2[1].toString()))); 
                        cell2.setCellStyle(style);
                        cell3.setCellValue(arr1[4].toString());  
                        cell3.setCellStyle(style);
                        cell4.setCellValue(String.valueOf(Integer.valueOf(arr2[4].toString())-Integer.valueOf(arr1[4].toString()))); 
                        cell4.setCellStyle(style);
                        cell5.setCellValue(String.format("%.1f", Double.valueOf(arr1[2].toString())*100)); 
                        cell5.setCellStyle(style);
                        cell6.setCellValue(String.format("%.1f", Double.valueOf(arr1[2].toString())*100/Double.valueOf(arr2[2].toString()))); 
                        cell6.setCellStyle(style);
                        cell7.setCellValue(arr1[3].toString());   
                        cell7.setCellStyle(style);
                        cell8.setCellValue(String.valueOf(Integer.valueOf(arr2[3].toString())-Integer.valueOf(arr1[3].toString())));   
                        cell8.setCellStyle(style);
                    }
                }
            }
            return wb;  
        }
    @RequestMapping("/exportThjcdw")
        public void exportThjcdw(HttpServletRequest request,HttpServletResponse response,String time1,String time2,String type){
            try {
                List<?> listAre = null;
                List<?> tblistAre = null;
                if("2".equals(type)){
                    //上周的所有数据值
                    String[] strarr1 = time1.split("-");
                    String[] strarr2 = time2.split("-");
                    listAre = this.hjkqzlbo.getAreList(strarr1[0],strarr1[1],type);
                    //上上周所有数据
                    tblistAre = this.hjkqzlbo.getAreList(strarr2[0],strarr2[1],type);
                    HSSFWorkbook wb = doexportZycrhhldmsz(listAre,tblistAre);    
                    response.setContentType("application/vnd.ms-excel");    
                    long title = new Date().getTime();
                    response.setHeader("Content-disposition", "attachment;filename="+title+".xls");    
                    OutputStream ouputStream = response.getOutputStream();    
                    wb.write(ouputStream);    
                    ouputStream.flush();    
                    ouputStream.close();
                }
                
            } catch (Exception e) {
                log.error(LogUtil.getStackTrace(e));
            }
        }    
  • 相关阅读:
    jQuery中$.proxy()的原理和使用
    JS中各种宽度、高度、位置、距离总结
    js中得call()方法和apply()方法的用法
    google浏览器翻译失败解决方案
    js区分移动设备与PC
    知识积累
    Django
    leetcode 27.Remove Element
    leetcode 28. Implement strStr()
    21. Merge Two Sorted Lists
  • 原文地址:https://www.cnblogs.com/jassy/p/10705540.html
Copyright © 2011-2022 走看看