springboot 데이터베이스에서 데이터 내보내기 Excel 기능 구현

7015 단어
다음으로 전송:https://blog.csdn.net/wilson_m/article/details/79021458
창작자 감사합니다!

단계 확인


        1. 프론트 페이지에 데이터 내보내기 단추를 추가합니다.         2. 백그라운드에서 데이터를 내보내는 기능.         2. 1 데이터베이스 정보의 조회.데이터베이스에 있는 테이블의 데이터를 조회하고 조회된 데이터를 excel 파일에 기록합니다.        2. 2 excel표를 만들어서 조회된 데이터를 저장합니다.excel표를 만들고 먼저 워크북을 만든 다음sheet를 만들고 sheet에 한 줄을 만들어 헤더로 하고 데이터베이스에서 조회한 데이터를 각각 대응하는 헤더 아래에 놓는다.

코드


프론트 데스크 html 페이지 코드는 다음과 같습니다.

<table border="0" style="margin-top:4px; margin-left: 18px">
            <tr>
                <td><a href="#" class="easyui-linkbutton" onclick="downloadfile();"> a>td>

            tr>

        table>









프런트 페이지 js 코드는 다음과 같습니다.
function downloadfile(){
        window.location.href="/UserExcelDownloads";
    }




서비스 및 mapper 레이어 코드는 다음과 같습니다.
//mapper 
@Select("select * from teacher")
    public List teacherinfor();

//service 
public List teacherinfor(){
        return teachermapper.teacherinfor();

// Teacher , 










백그라운드 컨트롤러 레이어 코드는 다음과 같습니다.
@RequestMapping(value = "UserExcelDownloads", method = RequestMethod.GET)
    public void downloadAllClassmate(HttpServletResponse response) throws IOException {
        HSSFWorkbook workbook = new HSSFWorkbook();
        HSSFSheet sheet = workbook.createSheet(" ");

        List classmateList = teacherservice.teacherinfor();

        String fileName = "userinf"  + ".xls";// 
        // , 

        int rowNum = 1;

        String[] headers = { " ", " ", " ", " "};
        //headers excel 

        HSSFRow row = sheet.createRow(0);
        // excel 

        for(int i=0;i
            HSSFCell cell = row.createCell(i);
            HSSFRichTextString text = new HSSFRichTextString(headers[i]);
            cell.setCellValue(text);
        }

        // 
        for (Teacher teacher : classmateList) {
            HSSFRow row1 = sheet.createRow(rowNum);
            row1.createCell(0).setCellValue(teacher.getTno());
            row1.createCell(1).setCellValue(teacher.getTname());
            row1.createCell(2).setCellValue(teacher.getType());
            row1.createCell(3).setCellValue(teacher.getTpassword());
            rowNum++;
        }

        response.setContentType("application/octet-stream");
        response.setHeader("Content-disposition", "attachment;filename=" + fileName);
        response.flushBuffer();
        workbook.write(response.getOutputStream());
    }

좋은 웹페이지 즐겨찾기