几个Java小工具实例

1.一个方式的导出excel;
2.一种方式的下载模板;
3.导出(麻烦)
4.导出(简单)
5.zTree相关


1.一个方式的导出excel:
        public void daochu(StringBuffer sb2, HttpServletRequest request, HttpServletResponse response) throws IOException {
                response.setContentType("application/vnd.ms-excel");
                response.setHeader("Content-Disposition", "inline; filename=" + "ceshi" + ".xls");
                ServletOutputStream out = response.getOutputStream();
                StringBuffer sb = new StringBuffer();
                sb.append("<html>\n");
                sb.append("<head>\n");
                sb.append("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=gbk\"/>\n");
                sb.append("<style>\n");
                sb.append("th{FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN}\n");
                sb.append("td{FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN}\n");
                sb.append("</style>\n");
                sb.append("</head>\n");
                sb.append("<body>\n");
                sb.append("<table border='1'>\n");
                sb.append("<tr><td rowspan='2' colspan='13' style='FONT-SIZE: 20pt;text-align: center;'>设备台账</td></tr>");
                sb.append("<tr></tr>");
                sb.append("<tr><th>序号</th>" + "<th>本所标号</th>" + "<th>设备名称</th>" + "<th>型号规格</th>" + "<th>仪器编号</th>"
                        + "<th>制造厂家</th>" + "<th>制造日期</th>" + "<th>购置日期</th>" + "<th>价格(元)</th>" + "<th>管理人</th>"
                        + "<th>存放地点</th>" + "<th>仪器状态</th>" + "<th>备注</th></tr>\n");
                sb.append(sb2);
                sb.append("</table>\n");
                sb.append("</body>\n");
                sb.append("</html>

out.write(sb.toString().getBytes("GBK"));
                response.flushBuffer();
                out.close();
            }

2.一种方式的下载模板:
        @RequestMapping("/system/downloadDictionaryTemplate")
            public ResponseEntity<InputStreamResource> downloadDictionaryTemplate() throws IOException {
                //String filePath = resourceLoader.getResource("ExcelTemplate").getFile().getPath() +File.separator + "Template-Dictionary.xls";
                ClassPathResource classPathResource = new ClassPathResource("ExcelTemplate" + File.separator + "Template-Dictionary.xls");
                //FileSystemResource file = new FileSystemResource(filePath);
                HttpHeaders headers = new HttpHeaders();
                headers.add("Cache-Control", "no-cache, no-store, must-revalidate");
                headers.add("Content-Disposition", String.format("attachment; filename=\"%s\"", classPathResource.getFilename()));
                headers.add("Pragma", "no-cache");
                headers.add("Expires", "0");

                return ResponseEntity
                        .ok()
                        .headers(headers)
                        .contentLength(classPathResource.contentLength())
                        .contentType(MediaType.parseMediaType("application/octet-stream"))
                        .body(new InputStreamResource(classPathResource.getInputStream()));
            }

3.导出麻烦
// 具体导出采购台账(新)
    @RequestMapping("cms/equipment/toEquipmentledgerExport1231")
    public void CustomreadExcel(HttpSession session, HttpServletRequest request, HttpServletResponse response)
            throws IOException {
        Integer sort = 0;
        HSSFWorkbook workbook = new HSSFWorkbook();
        String sheetname = "采购台账";
        HSSFSheet sheet = workbook.createSheet(sheetname);// 创建一个表
        // 设置列宽:
        for (int i = 0; i < 20; i++) {
            
            if(i==0){
                sheet.setColumnWidth(i, 2000);
            }else{
                sheet.setColumnWidth(i, 4000);
            }
        }
        sheet.setDefaultRowHeightInPoints(27);
        HSSFRow row = null;
        HSSFFont font = null;
        // 设置标题
        row = sheet.createRow(0);
        HSSFCellStyle setBorder = workbook.createCellStyle();
        font = workbook.createFont();
        font.setFontName("宋体");
        font.setFontHeightInPoints((short) 24);// 设置字体大小
        // font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//粗体显示
        setBorder.setFont(font);
        setBorder.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 居中
        setBorder.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);// 垂直 
        setBorder.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下边框    
        setBorder.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左边框    
        setBorder.setBorderTop(HSSFCellStyle.BORDER_THIN);//上边框    
        setBorder.setBorderRight(HSSFCellStyle.BORDER_THIN);//右边框
        setBorder.setWrapText(true);//设置自动换行  
        row.createCell(0).setCellValue("山东省交通科学研究院设备采购、结算目录");
        row.getCell(0).setCellStyle(setBorder);
        for (int i = 1; i < 20; i++) {
            row.createCell(i).setCellValue("");
            row.getCell(i).setCellStyle(setBorder);
        }
        CellRangeAddress region1 = new CellRangeAddress(0, 0, (short) 0, (short) 19);
        sheet.addMergedRegion(region1);
        // 设置表头
        HSSFCellStyle setBorder1 = workbook.createCellStyle();
        font = workbook.createFont();
        font.setFontName("宋体");
        font.setFontHeightInPoints((short) 16);// 设置字体大小
        // font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//粗体显示
        setBorder1.setFont(font);
        setBorder1.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 居中
        setBorder1.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);// 垂直 
        setBorder1.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下边框    
        setBorder1.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左边框    
        setBorder1.setBorderTop(HSSFCellStyle.BORDER_THIN);//上边框    
        setBorder1.setBorderRight(HSSFCellStyle.BORDER_THIN);//右边框
        setBorder1.setWrapText(true);//设置自动换行 
        row = sheet.createRow(1);
        String[] bts = { "序号", "采购年份", "采购类别", "项目名称", "采购编号", "招标代理机构", "包号", "开标", "中标金额", "中标单位", "履约保证金", "签订合同日期",
                "合同总款", "首付", "", "余款", "", "质保金", "", "备注" };
        for (int i = 0; i < bts.length; i++) {
            row.createCell(i).setCellValue(bts[i]);
            row.getCell(i).setCellStyle(setBorder1);
            if (i == 13 || i == 15 || i == 17) {
                CellRangeAddress region2 = new CellRangeAddress(1, 1, (short) i, (short) i + 1);
                sheet.addMergedRegion(region2);
            }
        }
        row = sheet.createRow(2);
        String[] bts1 = { "", "", "", "", "", "", "", "", "", "", "", "", "", "金额", "日期", "金额", "日期", "金额", "日期", "" };
        for (int i = 0; i < bts1.length; i++) {
            row.createCell(i).setCellValue(bts1[i]);
            row.getCell(i).setCellStyle(setBorder1);
            if (i < 13 || i == 19) {
                CellRangeAddress region2 = new CellRangeAddress(1, 2, (short) i, (short) i);
                sheet.addMergedRegion(region2);
            }
        }
        // 数据填充
        HSSFCellStyle setBorder2 = workbook.createCellStyle();
        font = workbook.createFont();
        font.setFontName("宋体");
        font.setFontHeightInPoints((short) 12);// 设置字体大小
        // font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//粗体显示
        setBorder2.setFont(font);
        setBorder2.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 居中
        setBorder2.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);// 垂直 
        setBorder2.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下边框    
        setBorder2.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左边框    
        setBorder2.setBorderTop(HSSFCellStyle.BORDER_THIN);//上边框    
        setBorder2.setBorderRight(HSSFCellStyle.BORDER_THIN);//右边框
        setBorder2.setWrapText(true);//设置自动换行 
        int rownumber = 3;
        String start = (String) session.getAttribute("startcg");
        String end = (String) session.getAttribute("endcg");
        Integer companyname = (Integer) session.getAttribute("companynamecg");
        String zbdw = (String) session.getAttribute("zbdwcg");
        List<Projectzb> listt = projectzbService.findlists(start, end, companyname, zbdw);
        Object[] dates1 = null;
        for (int i = 0; i < listt.size(); i++) {
            Projectzb projectzb = listt.get(i);
            ProxyConpany po = proxyConpanyService.findOne(projectzb.getCompanyId());
            if (listt.get(i).getListpakage().size() == 0) {
                dates1 = new Object[] { rownumber - 2, DateUtils.formatDate(projectzb.getCreateTime(), "yyyy"),
                        projectzb.getCglb(), projectzb.getProjectName(), projectzb.getProjectCode(),
                        po.getCompanyName(), "", "", "", "", "", "", "", "", "", "", "", "", "" };
                rownumber++;
                row = sheet.createRow(rownumber);
                for (int j2 = 0; j2 < dates1.length; j2++) {
                    row.createCell(j2).setCellValue(dates1[j2].toString());
                    row.getCell(j2).setCellStyle(setBorder2);
                }
            } else if (projectzb.getListpakage().size() == 1) {
                    PackageProj pac = projectzb.getListpakage().get(0);
                    row = sheet.createRow(rownumber);
                    dates1 = new Object[] { rownumber - 2, DateUtils.formatDate(projectzb.getCreateTime(), "yyyy"),
                            projectzb.getCglb(), projectzb.getProjectName(), projectzb.getProjectCode(),
                            po.getCompanyName(), pac.getPackageName() == null ? "" : pac.getPackageName(),
                            pac.getOpenStartTime() == null ? ""
                                    : DateUtils.formatDate(pac.getOpenStartTime(), "yyyy.MM.dd"),
                            pac.getSelectedMoney() == null ? "0.00" : pac.getSelectedMoney(),
                            pac.getSelectedCompanyName() == null ? "" : pac.getSelectedCompanyName(), "", "", "",
                            "", "", "", "", "", "", "" };
                    addht(pac,dates1);
                    rownumber++;
                    for (int j2 = 0; j2 < dates1.length; j2++) {
                        row.createCell(j2).setCellValue(dates1[j2].toString());
                        row.getCell(j2).setCellStyle(setBorder2);
                    }
            } else {
                int strrownumber = 0;
                for (int j = 0; j < projectzb.getListpakage().size(); j++) {
                    PackageProj pac = projectzb.getListpakage().get(j);
                    row = sheet.createRow(rownumber);
                    if (j == 0) {
                        strrownumber = rownumber;
                        dates1 = new Object[] { rownumber - 2, DateUtils.formatDate(projectzb.getCreateTime(), "yyyy"),
                                projectzb.getCglb(), projectzb.getProjectName(), projectzb.getProjectCode(),
                                po.getCompanyName(), pac.getPackageName() == null ? "" : pac.getPackageName(),
                                pac.getOpenStartTime() == null ? ""
                                        : DateUtils.formatDate(pac.getOpenStartTime(), "yyyy.MM.dd"),
                                pac.getSelectedMoney() == null ? "0.00" : pac.getSelectedMoney(),
                                pac.getSelectedCompanyName() == null ? "" : pac.getSelectedCompanyName(), "", "", "",
                                "", "", "", "", "", "", "" };
                        
                    } else {
                        dates1 = new Object[] { rownumber - 2, "", "", "", "", "",
                                pac.getPackageName() == null ? "" : pac.getPackageName(),
                                pac.getOpenStartTime() == null ? ""
                                        : DateUtils.formatDate(pac.getOpenStartTime(), "yyyy.MM.dd"),
                                pac.getSelectedMoney() == null ? "0.00" : pac.getSelectedMoney(),
                                pac.getSelectedCompanyName() == null ? "" : pac.getSelectedCompanyName(), "", "", "",
                                "", "", "", "", "", "", "" };
                    }
                    rownumber++;
                    addht(pac,dates1);
                    for (int j2 = 0; j2 < dates1.length; j2++) {
                        row.createCell(j2).setCellValue(dates1[j2].toString());
                        row.getCell(j2).setCellStyle(setBorder2);
                    }
                }
                for (int j = 1; j < 6; j++) {
                    CellRangeAddress region2 = new CellRangeAddress(strrownumber,
                            strrownumber + projectzb.getListpakage().size() - 1, (short) j, (short) j);
                    sheet.addMergedRegion(region2);
                }
            }
        }
        // 文件输出
        String fileName = "台账记录";
        if (request.getHeader("User-Agent").toUpperCase().indexOf("MSIE") > 0) {
            fileName = URLEncoder.encode(fileName, "UTF-8");
        } else {
            fileName = new String(fileName.getBytes("UTF-8"), "ISO8859-1");
        }
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        workbook.write(baos);
        response.setContentType("application/x-download;charset=gbk");
        response.addHeader("Content-Disposition", "attachment;filename=" + fileName + ".xls");
        OutputStream os = response.getOutputStream();
        ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
        byte[] b = new byte[1024];
        while ((bais.read(b)) > 0) {
            os.write(b);
        }
        bais.close();
        os.flush();
        os.close();
    }
    4.导出简单
// 设备台账导出
    @RequestMapping("cms/equipment/toshebeiledgerExport")
    public void Export(String start, String end, Integer depart, Integer maneger, HttpServletRequest request,
            HttpServletResponse response) throws IOException {
        List<ExcelExportEntity> entityList = new ArrayList<ExcelExportEntity>();
        Map<String, Object> modelMap = new HashMap<>();
        // 内容
        HttpSession session = request.getSession();
        String startt = (String) session.getAttribute("start");
        String endd = (String) session.getAttribute("end");
        Integer departt = (Integer) session.getAttribute("depart");
        Integer manegerr = (Integer) session.getAttribute("maneger");
        List<Equipment> list = equipmentService.getAll(startt, endd, departt, manegerr);
        StringBuffer sb2 = new StringBuffer();
        int xu = 0;
        List<Map<String, Object>> dataResult = new ArrayList<Map<String, Object>>();
        entityList.add(new ExcelExportEntity("序号", "v0", 9));
        entityList.add(new ExcelExportEntity("本所标号", "v1", 16));
        entityList.add(new ExcelExportEntity("设备名称", "v2", 16));
        entityList.add(new ExcelExportEntity("型号规格", "v3", 16));
        entityList.add(new ExcelExportEntity("仪器编号", "v4", 16));
        entityList.add(new ExcelExportEntity("制造厂家", "v5", 16));
        entityList.add(new ExcelExportEntity("制造日期", "v6", 16));
        entityList.add(new ExcelExportEntity("购置日期", "v7", 16));
        entityList.add(new ExcelExportEntity("价格(元)", "v8", 16));
        entityList.add(new ExcelExportEntity("管理人", "v9", 16));
        entityList.add(new ExcelExportEntity("存放地点", "v10", 16));
        entityList.add(new ExcelExportEntity("仪器状态", "v11", 16));
        entityList.add(new ExcelExportEntity("备注", "v12", 16));
        for (Equipment eq : list) {
            Map<String, Object> map = new HashMap<String, Object>();
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd");
            String mdate = "";
            if (eq.getMadeDate() != null) {
                mdate = sdf.format(eq.getMadeDate());
            }
            String pdate = "";
            if (eq.getPurchaseTime() != null) {
                pdate = sdf.format(eq.getPurchaseTime());
            }
            String status = "";
            if (eq.getDeviceStatus() != null) {
                if (eq.getDeviceStatus() == 0) {
                    status = "正常";
                } else if (eq.getDeviceStatus() == 1) {
                    status = "报废";
                }
            }
            map.put("v0", ++xu);
            map.put("v1", eq.getNumber());
            map.put("v2", eq.getName());
            map.put("v3", eq.getSpecifications());
            map.put("v4", eq.getMakeNum());
            map.put("v5", eq.getManufacturer());
            map.put("v6", mdate);
            map.put("v7", pdate);
            map.put("v8", eq.getPrice());
            User user = eq.getOwenUser();
            map.put("v9", user == null ? "" : user.getUserName());
            map.put("v10", eq.getStoragePlace());
            map.put("v11", status);
            map.put("v12", "");
            dataResult.add(map);
        }
        modelMap.put(MapExcelConstants.ENTITY_LIST, entityList);
        modelMap.put(MapExcelConstants.MAP_LIST, dataResult);
        String fileName = "设备台账";
        modelMap.put(MapExcelConstants.FILE_NAME, fileName);
        modelMap.put(NormalExcelConstants.PARAMS, new ExportParams("设备台账", "设备台账"));
        PoiBaseView.render(modelMap, request, response, MapExcelConstants.JEECG_MAP_EXCEL_VIEW);
    }
    
5.zTree相关

//zTree相关
    @ResponseBody
    @RequestMapping(value = "/cms/purchase/ajaxPurchaseNotice")
    public JSONArray ajaxPurchaseNotice() {
        JSONArray array = new JSONArray();
        List<Department> departments = departmentService.findAll(0);
        for (Department part : departments) {
            if(part.getManagerId() != null){
                JSONObject object = new JSONObject();
                object.put("id", part.getDepId());
                object.put("pId", part.getParentId());
                object.put("name",part.getDepName());
                array.add(object);
                User user = userService.findOne(part.getManagerId());
                object = new JSONObject();
                object.put("id", user.getId());
                object.put("pId", part.getDepId());
                object.put("name", user.getUserName());
                array.add(object);
            }
        }
        return array;
    }

发布了78 篇原创文章 · 获赞 1 · 访问量 4561
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览