导出Excel核心代码

一、control返回,封装的addExcel

res.addExcel(fileName, sheetMap);

二、具体的addExcel方法

IZrarResponse addExcel(String var1, Map<String, List> var2, Map<String, List<int[]>>... var3);
public IZrarResponse addExcel(String excelName, Map<String, List> sheetMap, Map<String, List<int[]>>... hbxx) {
        this.contentType = "application/vnd.ms-excel";
        this.workbook = SaveAsExcelOfMicrosoftOffice.gethbWorkbook(sheetMap, hbxx);
        ThreadPool.add("excel", excelName);
        return this;
    }
public static HSSFWorkbook gethbWorkbook(Map<String, List> sheetMap, Map<String, List<int[]>>... hbxx) {
        return sheetMap == null ? null : EditMicrosoftOffice.writerToExcel(sheetMap, hbxx);
    }

三 、核心导出Excel代码

 public static HSSFWorkbook writerToExcel(Map<String, List> sheetMap, Map<String, List<int[]>>... hbxx) {
        if (sheetMap != null && sheetMap.size() > 0) {
            workbook = createExcel();
            Iterator it = sheetMap.keySet().iterator();//对sheetMap遍历

            while(true) {
                String sheetName;
                do {
                    do {
                        if (!it.hasNext()) {
                            return workbook;
                        }

                        sheetName = (String)it.next();
                        Iterator sheetIt = ((List)sheetMap.get(sheetName)).iterator();
                        sheet = createSheet(workbook, sheetName);
                        HSSFCellStyle cellStyle = setWorkbookStyle(workbook);
                        int var6 = 0;

                        while(sheetIt.hasNext()) {
                            HSSFRow row = createRow(sheet, var6++);
                            Iterator cellIt = ((List)sheetIt.next()).iterator();
                            int var9 = 0;

                            while(cellIt.hasNext()) {
                                HSSFCell cell = createCell(row, var9++);
                                cell.setCellStyle(cellStyle);
                                setCellValue(cell, cellIt.next());
                            }
                        }
                    } while(hbxx == null);
                } while(hbxx.length <= 0);

                List<int[]> hbxxList = (List)hbxx[0].get(sheetName);
                Iterator var13 = hbxxList.iterator();

                while(var13.hasNext()) {
                    int[] obj = (int[])var13.next();
                    if (obj.length == 4) {
                        hbCell(obj[0], obj[1], obj[2], obj[3]);
                    }
                }
            }
        } else {
            return workbook;
        }
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值