大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) hot資訊 JavaWeb導(dǎo)出excel文件的方法

JavaWeb導(dǎo)出excel文件的方法

更新時(shí)間:2022-03-17 10:29:47 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽3456次

JavaWeb導(dǎo)出excel文件的方法其實(shí)很簡(jiǎn)單,只需要兩步就可以啦!

1.在需要的controller里面加入下面接口代碼:

 /**
     * excel導(dǎo)出controller層代碼
     *
     * @param params
     * @return
     */
    @RequestMapping("exportExcel")
    @ResponseBody
    public String exportExcel(HttpServletResponse response, Map<String, Object> params) {
        HSSFWorkbook workbook = excelService.exportExcel(map);
        try {
            if (response != null) {
                response.setContentType("application/vnd.ms-excel;charset=utf-8");
                response.setHeader("Content-Disposition",
                        "attachment;filename=\"" + new String(("excel名稱" + ".xls").getBytes("gb2312"), "ISO8859-1"));
                OutputStream out = response.getOutputStream();
                workbook.write(out);
                out.close();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }

pom.xml文件加上poi的依賴

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>3.9</version>
</dependency>

2.在serviceImpl里面加入下面方法:

/**
     * 導(dǎo)出excel信息
     *
     * @param map
     * @return
     */
    @Override
    public HSSFWorkbook exportExcel(Map<String,Object> map) { 
        //獲取需要生成excel數(shù)據(jù)
        List<UserDto> userDtoList=exportMapper.getUserInfo(map);        
        //如果數(shù)據(jù)為空,則不繼續(xù)往下走,直接return
        if(userDtoList==null){
            return null;
        } 
        HSSFWorkbook wb = new HSSFWorkbook();
        // 創(chuàng)建一個(gè)Excel的Sheet
        HSSFSheet sheet = wb.createSheet("first sheet");
        //表頭屬性名
        String[] propertyName={"序號(hào)","姓名","性別","年齡","地址"};        
        // 獲取表需要的列數(shù)
        int length = propertyName.length;
        // ---------------下面設(shè)置表的第一行也就是通常的title----------------------
        // 設(shè)置行-下面為第一行
        HSSFRow row0 = sheet.createRow(0);
        // 設(shè)置列-下面為第一行的第一列
        HSSFCell cell00 = row0.createCell(0);
        // 設(shè)置字體
        HSSFFont headfont = wb.createFont();
        headfont.setFontName("黑體");
        // 字體大小
        headfont.setFontHeightInPoints((short) 22);
        // 設(shè)置樣式
        HSSFCellStyle headstyle = wb.createCellStyle();
        // 使用了上面設(shè)置的字體樣式
        headstyle.setFont(headfont);
        headstyle.setLocked(true);
        // 自動(dòng)換行
        headstyle.setWrapText(false);
        // 合并單元格:參數(shù)說(shuō)明:1:開(kāi)始行 2:結(jié)束行 3:開(kāi)始列 4:結(jié)束列
        // 注意,在這里使用表字段名-1來(lái)作結(jié)束列,因?yàn)槲覀兪菑?開(kāi)始數(shù)的,所以要減去一個(gè)
        CellRangeAddress range = new CellRangeAddress(0, 0, 0, length - 1);
        // 將表的合并單元格樣式設(shè)置進(jìn)去
        sheet.addMergedRegion(range);
        // 設(shè)置表的第一行的第一列的樣式
        cell00.setCellStyle(headstyle);
        // 設(shè)置表的第一行的第一列的value
        cell00.setCellValue("excel標(biāo)題");
        // ---------------下面開(kāi)始設(shè)置表的第二行,通常為字段名----------------------
        HSSFRow row1 = sheet.createRow(1);
        // 字段名使用的字體
        HSSFFont columnHeadFont = wb.createFont();
        columnHeadFont.setFontName("宋體");
        // 字體大小
        columnHeadFont.setFontHeightInPoints((short) 10);
        // 列頭的樣式
        HSSFCellStyle columnHeadStyle = wb.createCellStyle();
        // 設(shè)置上面已經(jīng)設(shè)置好的字體樣式
        columnHeadStyle.setFont(columnHeadFont);
        columnHeadStyle.setLocked(true);
        columnHeadStyle.setWrapText(false);
        // 設(shè)置第二行的行高
        row1.setHeight((short) 750);
        // 創(chuàng)建在這行中的列
        HSSFCell cell1 = null;
        for (int i = 0; i < length; i++) {
            cell1 = row1.createCell(i);
            // 獲取數(shù)組中的表頭字段名
            cell1.setCellValue(propertyName[i]);
            // 給它設(shè)置風(fēng)格
            cell1.setCellStyle(columnHeadStyle);
        }
        // ---------------下面開(kāi)始設(shè)置表里面的內(nèi)容-----------------------------
        // 設(shè)置字體
        HSSFFont font = wb.createFont();
        font.setFontName("宋體");
        font.setFontHeightInPoints((short) 10);
        // 設(shè)置其風(fēng)格
        HSSFCellStyle style = wb.createCellStyle();
        style.setFont(font);
        style.setWrapText(false);
        HSSFRow row = null;
        HSSFCell cell = null;
        int valueStartRow = 2;
        // 賦值
        for (UserDto userDto  : userDtoList) {
            row = sheet.createRow(valueStartRow);
            cell = row.createCell(0);
            cell.setCellValue(userDto.getIndex());
            cell.setCellStyle(style);            
            cell = row.createCell(1);
            cell.setCellValue(userDto.getName());
            cell.setCellStyle(style); 
            cell = row.createCell(2);
            cell.setCellValue(userDto.getGender());
            cell.setCellStyle(style); 
            cell = row.createCell(3);
            cell.setCellValue(userDto.getAge());
            cell.setCellStyle(style); 
            cell = row.createCell(4);
            cell.setCellValue(userDto.getAddress());
            cell.setCellStyle(style);
            valueStartRow++;
        }
        return wb; 
    }

搞定了,現(xiàn)在可以生成excel了。

以上就是關(guān)于“JavaWeb導(dǎo)出excel文件的方法”介紹,大家如果想了解更多相關(guān)知識(shí),可以關(guān)注一下動(dòng)力節(jié)點(diǎn)的Java視頻,里面的視頻教程細(xì)致全面,從入門到精通,適合沒(méi)有基礎(chǔ)的小白學(xué)習(xí),希望對(duì)大家能夠有所幫助。

提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-04-24 搶座中
  • 全國(guó)校區(qū) 2025-05-15 搶座中
  • 全國(guó)校區(qū) 2025-06-05 搶座中
  • 全國(guó)校區(qū) 2025-06-26 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 欧美成人精品一区二三区在线观看 | 日本高清免费毛片久久看 | 色姑娘综合网 | 成人影院在线免费观看 | 日韩麻豆国产精品欧美 | 91久久天天躁狠狠躁夜夜 | 国产精品爱久久久 | 国产精品视频偷伦精品视频 | 日韩一区二区三区不卡视频 | 国产精品suv一区二区 | 愉拍精品视频在线观看 | 国产在线91精品 | 天天做天天爱夜夜爽毛片毛片 | 欧洲一级做a爱在线观看 | 久草视频播放器 | 欧美一区在线观看视频 | 九九久久免费视频 | 亚洲精品影院 | 日本一级在线播放线观看视频 | 中国国产高清一级毛片 | 天天插天天插 | 欧美精品成人一区二区视频一 | 中文字幕一区二区三区精品 | 亚洲精品9999久久久久 | 欧美曰批人成在线观看 | 日本工番囗番全彩本子大全 | 麻豆国内精品欧美在线 | 国内精品小视频在线 | 欧美成人se01短视频在线看 | 色老头老太做爰视频在线观看 | 日韩精品一区二区三区国语自制 | 可以看美女隐私的网站 | 日日综合网| 福利社看片 | 午夜性爽视频男人的天堂在线 | 成人国产精品免费视频不卡 | 理论片 我不卡影院 | 国产在线精品香蕉麻豆 | 欧美午夜精品 | 成人久久久久 | 这里只有精品首页 |