springboot資料庫查詢並匯入exce表格步驟詳解
阿新 • • 發佈:2020-09-01
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 sheetView Code= 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()); }
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); } }