1. 程式人生 > >java web 讀取數據庫數據寫入Excel返回瀏覽器下載

java web 讀取數據庫數據寫入Excel返回瀏覽器下載

ade 瀏覽器 spa tchar download eat tno efault 寫入excel

技術分享圖片
 1 @RequestMapping(value = "/download", method = RequestMethod.GET)
 2     public void downstudents(HttpServletRequest request, HttpServletResponse response) throws IOException {
 3         // 一、從後臺拿數據
 4         List<Dept> list = null;
 5         list=ds.list();
 6         try {
 7             //
二、 數據轉成excel 8 request.setCharacterEncoding("UTF-8"); 9 response.setCharacterEncoding("UTF-8"); 10 response.setContentType("application/x-download"); 11 12 String fileName = "dept.xls"; 13 fileName = URLEncoder.encode(fileName, "UTF-8");
14 response.addHeader("Content-Disposition", "attachment;filename=" + fileName); 15 // 第一步:定義一個新的工作簿 16 HSSFWorkbook wb = new HSSFWorkbook(); 17 // 第二步:創建一個Sheet頁 18 HSSFSheet sheet = wb.createSheet("deptsheet"); 19 HSSFCellStyle style=wb.createCellStyle();
20 style.setAlignment(HSSFCellStyle.ALIGN_CENTER);//設置居中(無效) 21 sheet.setDefaultRowHeight((short) (256));// 設置行高 22 sheet.setColumnWidth(0, 2000);// 設置列寬 23 sheet.setColumnWidth(1, 5000); 24 sheet.setColumnWidth(2, 5500); 25 sheet.setColumnWidth(3, 5500); 26 27 HSSFFont font = wb.createFont(); 28 font.setFontName("宋體");//設置字體 29 font.setFontHeightInPoints((short) 16);//設置文字大小 30 31 HSSFRow row = sheet.createRow(0); 32 HSSFCell cell = row.createCell(0); 33 cell.setCellValue("序號"); 34 cell = row.createCell(1); 35 cell.setCellValue("部門編號"); 36 cell = row.createCell(2); 37 cell.setCellValue("部門名稱"); 38 cell = row.createCell(3); 39 cell.setCellValue("地址"); 40 41 HSSFRow rows; 42 HSSFCell cells; 43 for (int i = 0; i < list.size(); i++) { 44 // 第三步:在這個sheet頁裏創建一行 45 rows = sheet.createRow(i + 1); 46 // 第四步:在該行創建一個單元格 47 cells = rows.createCell(0); 48 // 第五步:在該單元格裏設置值 49 cells.setCellValue(i+1); 50 cells = rows.createCell(1); 51 cells.setCellValue(list.get(i).getDeptno()); 52 cells = rows.createCell(2); 53 cells.setCellValue(list.get(i).getDname()); 54 cells = rows.createCell(3); 55 cells.setCellValue(list.get(i).getLoc()); 56 57 } 58 59 OutputStream out = response.getOutputStream(); 60 wb.write(out); 61 out.close(); 62 wb.cloneSheet(0); 63 } catch (IOException e) { 64 e.printStackTrace(); 65 } 66 }
javaCode

java web 讀取數據庫數據寫入Excel返回瀏覽器下載