1. 程式人生 > 實用技巧 >springboot資料庫查詢並匯入exce表格步驟詳解

springboot資料庫查詢並匯入exce表格步驟詳解

1、前端新增按鍵

<!DOCTYPE html>
<html>
<body>
<table border="0" style="margin-top:4px; margin-left: 18px">
    <tr>
        <td><a href="http://localhost:8181/Sludge/sludgeOutToExcel" class="easyui-linkbutton" onclick="downloadfile();">匯出報表</a></td>
    </tr
> </table> </body> </html>

2、後端

資料庫

思路過程:controller層接收前端瀏覽器請求,呼叫service層方法,service實現類方法呼叫mapper層的方法返回查詢的資料,寫入流中返回給瀏覽器。

mapper層

@Select("SELECT * from sludge")
public List<Sludge> OutToExcel();

service層介面

public interface SludgeService extends IService<Sludge> {
    
//9.1 public void sludgeOutToExcel(HttpServletRequest request,HttpServletResponse response)throws Exception; }

service層介面的實現類

public void sludgeOutToExcel(HttpServletRequest request, HttpServletResponse response) throws Exception {
        HSSFWorkbook workbook = new HSSFWorkbook();
        HSSFSheet sheet 
= workbook.createSheet("sludge"); List<Sludge> sludgeList = sludgeMapper.OutToExcel(); String fileName = "sludge" + ".xls"; int rowNum = 1; String[] headers = {"id","processing","watercontent","factoryname","createtime","modifiedtime"}; HSSFRow row = sheet.createRow(0); for (int i=0; i<headers.length;i++){ HSSFCell cell = row.createCell(i); HSSFRichTextString text = new HSSFRichTextString(headers[i]); cell.setCellValue(text); } for (Sludge sludge:sludgeList){ HSSFRow row1 = sheet.createRow(rowNum); row1.createCell(0).setCellValue(sludge.getId()); row1.createCell(1).setCellValue(sludge.getProcessing().toString()); row1.createCell(2).setCellValue(sludge.getWaterContent().toString()); row1.createCell(3).setCellValue(sludge.getFactoryName()); row1.createCell(4).setCellValue(sludge.getGmtCreate().toString()); row1.createCell(5).setCellValue(sludge.getGmtModified().toString()); rowNum++; } response.setContentType("application/octet-stream"); response.setHeader("Content-disposition","attachment;filename="+fileName); response.flushBuffer(); workbook.write(response.getOutputStream()); }
View Code

controller層

@RestController
@RequestMapping("Sludge")
public class SludgeController {

    @Autowired
    private SludgeService sludgeService;
    //9.1
    @GetMapping("sludgeOutToExcel")
    public void sludgeOutToExcel(HttpServletRequest request, HttpServletResponse response)throws Exception{
         sludgeService.sludgeOutToExcel(request,response);
    }
}