[정보가 포함된 Excel 템플릿 다운로드]

24276 단어 ●【도구】
최근에 프로젝트에서 Excel 다운로드와 업로드를 하고 있는데 본 블로그는 주로 정리를 하고 지식을 분류하여 창고에 넣는 것을 말한다.코드:
public static void restExcel(Map>> data,String fileName){

            int tableMarginRow= 0;
            String[] title = null;
            List> tableData = null;

            HSSFWorkbook wb = new HSSFWorkbook();
            //    :
            HSSFCellStyle cellDataStyle = wb.createCellStyle();
            cellDataStyle = wb.createCellStyle();
            org.apache.poi.hssf.usermodel.HSSFFont cellDatafont = wb.createFont();
            cellDatafont.setFontHeight((short)200);
            cellDatafont.setBoldweight(HSSFFont.BOLDWEIGHT_NORMAL);
            cellDataStyle.setFont(cellDatafont);
            cellDataStyle.setBorderBottom((short)1);
            cellDataStyle.setBorderLeft((short)1);
            cellDataStyle.setBorderRight((short)1);
            cellDataStyle.setBorderTop((short)1);
            cellDataStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
            cellDataStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
            //         
            HSSFSheet sheet = wb.createSheet("       ");
            sheet.setDefaultColumnWidth(20);
            sheet.setDefaultRowHeightInPoints(17);
            //    
            HSSFRow row = sheet.createRow((int) 0);
            //   
            HSSFCellStyle style = wb.createCellStyle();
            style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
            style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
            //  :
            org.apache.poi.hssf.usermodel.HSSFFont font =  wb.createFont();
            //    
            CellRangeAddress region = new CellRangeAddress(0, 0,0, 10);
            sheet.addMergedRegion(region);
            RegionUtil.setBorderBottom(1, region, sheet,wb); //    
            RegionUtil.setBottomBorderColor(HSSFColor.BLACK.index, region, sheet, wb);
            CellRangeAddress region1 = new CellRangeAddress(1,2,0,0);
            sheet.addMergedRegion(region1);
            RegionUtil.setBorderBottom(1, region1, sheet,wb); //    
            RegionUtil.setBottomBorderColor(HSSFColor.BLACK.index, region1, sheet, wb);

            region = new CellRangeAddress(1,2,1,1);
            sheet.addMergedRegion(region);
            region = new CellRangeAddress(1,2,2,2);
            sheet.addMergedRegion(region);
            region = new CellRangeAddress(1,2,3,3);
            sheet.addMergedRegion(region);
            region = new CellRangeAddress(1,2,4,4);
            sheet.addMergedRegion(region);
            region = new CellRangeAddress(1,1,5,10);
            sheet.addMergedRegion(region);

            //            
            HSSFCell cell = row.createCell(0);
            style.setFillBackgroundColor(HSSFColor.BLUE.index);
            cell.setCellValue("       ");
            style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
            style.setFillForegroundColor((short)18);
            font.setFontHeight((short)250);
            font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
            style.setFont(font);
            cell.setCellStyle(style);


            style= wb.createCellStyle();
            font = wb.createFont();
            row = sheet.createRow(1);
            style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
            style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
            font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
            font.setFontHeight((short)250);
            style.setFont(font);

            title = new String[]{"    ","   ","    ","    ","    ","     "};
            for( int j1=0;j1<6;j1++){
                cell = row.createCell(j1);
                cell.setCellValue(title[j1]);
                cell.setCellStyle(style);
            }

            title = new String[]{"  (°C)","  (%RH)","  (hPa)","  ","  (m/s)","  "};
            row = sheet.createRow(2);
            for( int j1 =0;j1<11;j1++){
                cell = row.createCell(j1);
                cell.setCellStyle(style);
                if( j1>4){
                    cell.setCellValue(title[j1-5]);
                }
            }

            //    
            tableData = data.get(testBaseInforTableName);
            font = wb.createFont();
            font.setFontHeight((short)150);
            style.setFont(font);
            for(Map columnData : tableData){
                row = sheet.createRow(tableMarginRow+3);
                for( int j1=0;j1<11;j1++){
                    cell = row.createCell(j1);
                    cell.setCellValue((String)columnData.get(testBaseInforTaleTitle[j1]));
                    cell.setCellStyle(cellDataStyle);
                }

            }

            //           
            tableMarginRow = tableData.size()+4;
            region = new CellRangeAddress(tableMarginRow,tableMarginRow,0,11);
            sheet.addMergedRegion(region);
            //region = new CellRangeAddress(tableMarginRow+4,tableMarginRow+4,0,11);
            // sheet.addMergedRegion(region);
            row = sheet.createRow(tableMarginRow);
            cell = row.createCell(0);
            style = wb.createCellStyle();
            font = wb.createFont();
            font.setFontHeight((short)250);
            font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
            style.setFont(font);
            style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
            style.setFillForegroundColor((short)15);
            style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
            style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
            cell.setCellValue("      ");
            cell.setCellStyle(style);

            title = new String[]{"    ","    ","    ","       ","       ",
                    "   ","     ","    ","      ","   ","    PPM","  "};
            tableMarginRow = tableMarginRow+1;
            row = sheet.createRow((int) tableMarginRow);
            style= wb.createCellStyle();
            font = wb.createFont();
            font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
            font.setFontHeight((short)180);
            style.setFont(font);
            style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
            style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
            for(int j1=0;j1<12;j1++){
                cell = row.createCell(j1);
                cell.setCellValue(title[j1]);
                cell.setCellStyle(style);
            }


            //    
            tableData = data.get(instructionTestTableName);
            for(Map columnData : tableData){
                row = sheet.createRow(++tableMarginRow);
                for( int j1=0;j1<12;j1++){
                    cell = row.createCell(j1);
                    if( columnData.get(instructionTestTableTitle[j1])  instanceof Integer ){
                        cell.setCellValue(String.valueOf(columnData.get(instructionTestTableTitle[j1])));
                    }
                    else{
                        cell.setCellValue((String)columnData.get(instructionTestTableTitle[j1]));
                    }

                    cell.setCellStyle(cellDataStyle);
                }

            }
            //      sheet
            sheet = wb.createSheet("     ");
            sheet.setDefaultColumnWidth(20);
            sheet.setDefaultRowHeightInPoints(20);
            title= new  String[]{"  ","  ","  ","   ","   ","    ","    ","     ","    ","      ( )",
                    "    ","    ","   ","    ","    ","    ","    ","   ","    "};
            row = sheet.createRow(0);
            for( int j1 = 0;j1
                cell = row.createCell(j1);
                cell.setCellStyle(style);
                cell.setCellValue(title[j1]);
            }

            //    
            tableMarginRow = 0;
            tableData = data.get(testInforTableName);
            for(Map columnData : tableData){
                row = sheet.createRow(++tableMarginRow);
                for( int j1=0;j1
                    cell = row.createCell(j1);
                    if(  columnData.get(copyInforTableTitle[j1]) != null ){
                        if( columnData.get(copyInforTableTitle[j1]) instanceof Integer ){
                            cell.setCellValue(String.valueOf(columnData.get(copyInforTableTitle[j1])));
                        }
                        else{
                            cell.setCellValue((String)columnData.get(copyInforTableTitle[j1]));
                        }
                    }
                    cell.setCellStyle(cellDataStyle);
                }

            }
            //    
            FileOutputStream out = null ;
            try {
                out = new FileOutputStream(fileName);
                wb.write(out);
                out.close();
            } catch (Exception e) {
                e.printStackTrace();
            }

        }

독자의 독서에 감사 드립니다

좋은 웹페이지 즐겨찾기