栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java代码实现下载Excel

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java代码实现下载Excel

package com.envision.hr.portal.center.mvc;

import org.apache.poi.hssf.usermodel.HSSFRow;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;

public static void main(String[]args){

//=============================================================Controller=============================================================================>>>
public class DownloadExcelController {
    @Autowired
    DownloadExcelService downloadExcelService;

    @PostMapping(value = "downloadExcel")
    public void downloadExcel(HttpServletResponse response, @RequestBody String a) throws IOException {

        downloadExcelService.downloadExcel(response, "a");
    }
}

//=============================================================service=============================================================================>>>
public class DownloadExcelService {


    
    public void downloadExcel(HttpServletResponse response, String a) throws IOException {

        ArrayList header_list = new ArrayList();
        header_list.add(0, "工号");
        header_list.add(1, "姓名");
        header_list.add(2, "级别");
        header_list.add(3, "总分");
        header_list.add(4, "满意度");
        header_list.add(5, "优化人才");
        header_list.add(6, "人才发展体系");
        header_list.add(7, "得分");
        header_list.add(8, "价值传承");
        header_list.add(9, "规则");
        header_list.add(10, "能力");
        header_list.add(11, "氛围");
        header_list.add(12, "梯队");
        header_list.add(13, "组织");
        ArrayList header_code_list = new ArrayList();
        header_code_list.add(0, "a");
        header_code_list.add(1, "b");
        header_code_list.add(2, "c");
        header_code_list.add(3, "d");
        header_code_list.add(4, "e");
        header_code_list.add(5, "dd");
        header_code_list.add(6, "ee");
        header_code_list.add(7, "ww");
        header_code_list.add(8, "ss");
        header_code_list.add(9, "cc");
        header_code_list.add(10, "gg");
        header_code_list.add(11, "aa");
        header_code_list.add(12, "zz");
        header_code_list.add(13, "bb");

        HSSFWorkbook workbook = new HSSFWorkbook();
        HSSFSheet sheet = workbook.createSheet("report");
        String fileName = "人才" + ".xls";
        int rowNum = 1;
        String[] headers = (String[]) header_list.toArray(new String[0]);
        HSSFRow row = sheet.createRow(0);
        //在excel表中添加表头
        for (int i = 0; i < headers.length; i++) {
            HSSFCell cell = row.createCell(i);
            HSSFRichTextString text = new HSSFRichTextString(headers[i]);
            cell.setCellValue(text);
        }
        JdbcTemplate jdbcTemplate = DataSourcePageConfig.obtainJdbcConnect();
        StringBuffer nativeSql = new StringBuffer();
        nativeSql.append("select * from t ");
        List> listResult = jdbcTemplate.queryForList(nativeSql.toString());
        //将查询到的数据放入对应的列
        for (int i = 0; i < listResult.size(); i++) {
            HSSFRow row1 = sheet.createRow(rowNum);
            String[] strArray = (String[]) header_code_list.toArray(new String[0]);
            List arrayToList = Arrays.asList(strArray);
            for (int j = 0; j < arrayToList.size(); j++) {
                Object values = listResult.get(i).get(arrayToList.get(j));
                if (values != null) {
                    row1.createCell(j).setCellValue(listResult.get(i).get(arrayToList.get(j)).toString());
                }
            }
            rowNum++;
        }
        System.out.println(downloadExcel(workbook));

    }


    public boolean downloadExcel(HSSFWorkbook wb) {
        boolean flag = true;
        Date date = new Date();
        String sdf = new SimpleDateFormat("yyyy-MM-dd").format(date.getTime());
        String filePath = "C:\Users\Administrator\Desktop\" + sdf + ".xls";
        File file = new File(filePath);

        FileOutputStream fos = null;
        try {

            fos = new FileOutputStream(file);
            wb.write(fos);
        } catch (IOException e) {
            e.printStackTrace();
            flag = false;
        } finally {
            if (fos != null) {
                try {
                    fos.close();
                } catch (IOException e) {
                    e.printStackTrace();
                    flag = false;
                }
            }
        }
        return flag;
    }

}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/672961.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号