成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

在SpringBoot: SpringBoot里面創建導出Excel的接口教程

瀏覽:173日期:2022-06-16 17:20:22

在Web項目中,難免需要導出Excel這樣的功能,后端接口怎么實現呢,Controller代碼在下面,復制到項目的Controller中即可使用:

首先加入Excel的依賴,本例中我們用apache的poi:

<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.17</version></dependency>

后臺導出Excel的Controller接口代碼:

import org.apache.poi.hssf.usermodel.*;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import javax.servlet.http.HttpServletResponse;import java.io.IOException;@Controllerpublic class ExcelController { /** * Excel表格導出接口 * http://localhost:8080/ExcelDownload * @param response response對象 * @throws IOException 拋IO異常 */ @RequestMapping('/ExcelDownload') public void excelDownload(HttpServletResponse response) throws IOException { //表頭數據 String[] header = {'ID', '姓名', '性別', '年齡', '地址', '分數'}; //數據內容 String[] student1 = {'1', '小紅', '女', '23', '成都青羊區', '96'}; String[] student2 = {'2', '小強', '男', '26', '成都金牛區', '91'}; String[] student3 = {'3', '小明', '男', '28', '成都武侯區', '90'}; //聲明一個工作簿 HSSFWorkbook workbook = new HSSFWorkbook(); //生成一個表格,設置表格名稱為'學生表' HSSFSheet sheet = workbook.createSheet('學生表'); //設置表格列寬度為10個字節 sheet.setDefaultColumnWidth(10); //創建第一行表頭 HSSFRow headrow = sheet.createRow(0); //遍歷添加表頭(下面模擬遍歷學生,也是同樣的操作過程) for (int i = 0; i < header.length; i++) { //創建一個單元格 HSSFCell cell = headrow.createCell(i); //創建一個內容對象 HSSFRichTextString text = new HSSFRichTextString(header[i]); //將內容對象的文字內容寫入到單元格中 cell.setCellValue(text); } //模擬遍歷結果集,把內容加入表格 //模擬遍歷第一個學生 HSSFRow row1 = sheet.createRow(1); for (int i = 0; i < student1.length; i++) { HSSFCell cell = row1.createCell(i); HSSFRichTextString text = new HSSFRichTextString(student1[i]); cell.setCellValue(text); } //模擬遍歷第二個學生 HSSFRow row2 = sheet.createRow(2); for (int i = 0; i < student2.length; i++) { HSSFCell cell = row2.createCell(i); HSSFRichTextString text = new HSSFRichTextString(student2[i]); cell.setCellValue(text); } //模擬遍歷第三個學生 HSSFRow row3 = sheet.createRow(3); for (int i = 0; i < student3.length; i++) { HSSFCell cell = row3.createCell(i); HSSFRichTextString text = new HSSFRichTextString(student3[i]); cell.setCellValue(text); } //準備將Excel的輸出流通過response輸出到頁面下載 //八進制輸出流 response.setContentType('application/octet-stream'); //這后面可以設置導出Excel的名稱,此例中名為student.xls response.setHeader('Content-disposition', 'attachment;filename=student.xls'); //刷新緩沖 response.flushBuffer(); //workbook將Excel寫入到response的輸出流中,供頁面下載 workbook.write(response.getOutputStream()); }}

然后訪問接口,彈出頁面:

在SpringBoot: SpringBoot里面創建導出Excel的接口教程

下載該Excel,打開后如下圖:

在SpringBoot: SpringBoot里面創建導出Excel的接口教程

至此為止,SpringBoot的后臺Controller接口導出Excel數據表,已成功實現!

后來我封裝了一個靜態方法,可以在項目中作為工具類使用:

import org.apache.poi.hssf.usermodel.*;import javax.servlet.http.HttpServletResponse;import java.io.IOException;import java.util.List;/** * Excel工具類 */public class ExcelUtil { /** * Excel表格導出 * @param response HttpServletResponse對象 * @param excelData Excel表格的數據,封裝為List<List<String>> * @param sheetName sheet的名字 * @param fileName 導出Excel的文件名 * @param columnWidth Excel表格的寬度,建議為15 * @throws IOException 拋IO異常 */ public static void exportExcel(HttpServletResponse response, List<List<String>> excelData, String sheetName, String fileName, int columnWidth) throws IOException { //聲明一個工作簿 HSSFWorkbook workbook = new HSSFWorkbook(); //生成一個表格,設置表格名稱 HSSFSheet sheet = workbook.createSheet(sheetName); //設置表格列寬度 sheet.setDefaultColumnWidth(columnWidth); //寫入List<List<String>>中的數據 int rowIndex = 0; for(List<String> data : excelData){ //創建一個row行,然后自增1 HSSFRow row = sheet.createRow(rowIndex++); //遍歷添加本行數據 for (int i = 0; i < data.size(); i++) { //創建一個單元格 HSSFCell cell = row.createCell(i); //創建一個內容對象 HSSFRichTextString text = new HSSFRichTextString(data.get(i)); //將內容對象的文字內容寫入到單元格中 cell.setCellValue(text); } } //準備將Excel的輸出流通過response輸出到頁面下載 //八進制輸出流 response.setContentType('application/octet-stream'); //設置導出Excel的名稱 response.setHeader('Content-disposition', 'attachment;filename=' + fileName); //刷新緩沖 response.flushBuffer(); //workbook將Excel寫入到response的輸出流中,供頁面下載該Excel文件 workbook.write(response.getOutputStream()); //關閉workbook workbook.close(); }}

以上方法調用示例:

/** * Excel表格導出接口 * http://localhost:8080/ExcelDownload * @param response response對象 * @throws IOException 拋IO異常 */@RequestMapping('/ExcelDownload')public void excelDownload(HttpServletResponse response) throws IOException { List<List<String>> excelData = new ArrayList<>(); List<String> head = new ArrayList<>(); head.add('第一列'); head.add('第二列'); head.add('第三列'); List<String> data1 = new ArrayList<>(); data1.add('123'); data1.add('234'); data1.add('345'); List<String> data2 = new ArrayList<>(); data2.add('abc'); data2.add('bcd'); data2.add('cde'); excelData.add(head); excelData.add(data1); excelData.add(data2); String sheetName = '測試'; String fileName = 'ExcelTest.xls'; ExcelUtil.exportExcel(response, excelData, sheetName, fileName, 15);}

以上這篇在SpringBoot: SpringBoot里面創建導出Excel的接口教程就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: excel
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
国产精品地址| 欧洲国内综合视频| 一本久久a久久精品亚洲| 亚洲天堂中文字幕| 欧美在线日韩精品| 欧美成人三级在线| 国产毛片一区二区| 欧美久久一二区| 麻豆国产欧美日韩综合精品二区 | 欧美激情1区2区| 精品久久久久久无| 国产成人免费在线观看| 6080日韩午夜伦伦午夜伦| 激情av综合网| 欧美影院精品一区| 日本午夜一本久久久综合| 久久久久久久尹人综合网亚洲| 亚洲一区二区三区爽爽爽爽爽| 亚洲精品婷婷| 亚洲毛片av在线| av不卡在线| 亚洲婷婷国产精品电影人久久| 亚洲网址在线| 亚洲狼人国产精品| 国产午夜精品在线| 亚洲综合男人的天堂| 国产精品亚洲欧美| 亚洲电影在线免费观看| 久久久久国产精品午夜一区| 亚洲成人免费看| 色综合久久六月婷婷中文字幕| 秋霞av亚洲一区二区三| 色爱区综合激月婷婷| 青青草国产精品97视觉盛宴 | 一本一道久久a久久精品综合蜜臀 一本一道综合狠狠老 | 精品成人久久| 有码一区二区三区| 性色一区二区三区| 天天综合色天天综合色h| 久久婷婷激情| 九九国产精品视频| 日韩一级二级三级| 日韩一区二区电影| 免费成人在线网站| 欧美日韩视频第一区| 麻豆成人在线| 欧美日韩喷水| 亚洲欧美综合| 牛夜精品久久久久久久99黑人| 激情久久五月天| 日韩一区二区免费看| 欧美午夜精品久久久久久超碰| 久久精品亚洲精品国产欧美kt∨ | 激情五月激情综合网| 欧美日韩视频在线一区二区| 一级女性全黄久久生活片免费| av一区二区三区四区| 国产精品人成在线观看免费| 99国内精品| 婷婷久久综合九色综合绿巨人| 欧美日韩在线观看一区二区| 成人sese在线| 日韩美女久久久| 在线一区二区视频| 99这里都是精品| 亚洲精品国产成人久久av盗摄| 在线观看日产精品| 成人av网站在线观看免费| 中文字幕亚洲不卡| 老牛嫩草一区二区三区日本| 成人av资源下载| 亚洲激情图片qvod| 777亚洲妇女| 红桃视频亚洲| 免费成人你懂的| 久久日韩粉嫩一区二区三区| 日韩视频精品| 国产尤物一区二区在线| 久久综合九色综合欧美就去吻| 亚洲裸体俱乐部裸体舞表演av| 色婷婷精品大在线视频| 91美女福利视频| 亚洲图片欧美视频| 国产激情一区二区三区| 国产亚洲精品资源在线26u| 国产亚洲在线观看| 国产一区二区三区四| 中文字幕一区三区| 欧美三级视频在线| av资源网一区| 亚洲一区二区三区美女| 欧美一区二区高清| 亚洲激情在线| 国产在线精品免费av| 日本一区二区免费在线观看视频 | 亚洲国产精品123| 国产在线精品一区二区不卡了 | 欧美另类高清视频在线| 香蕉久久一区二区不卡无毒影院 | 麻豆精品久久久| 一区在线播放视频| 欧美裸体bbwbbwbbw| 国内外成人免费视频| 久久99久久久欧美国产| 欧美日韩亚洲一区在线观看| 日韩欧美一级二级| 一本色道久久综合亚洲精品婷婷| 国产精品伊人色| 一区二区日韩av| 欧美xxx久久| 久久久国产精品一区二区中文| 99在线精品观看| 日本成人在线电影网| 国产精品国产三级国产aⅴ中文| 欧美日韩国产综合一区二区三区| 亚洲国产午夜| 成人性生交大合| 一二三区精品福利视频| 欧美成人aa大片| 久久亚洲国产精品日日av夜夜| 色综合天天综合网天天看片| 麻豆免费精品视频| 亚洲精品网站在线观看| 国产日韩一级二级三级| 欧美电影在线免费观看| 久久婷婷久久| 一区二区激情| 欧美成人一品| 国产69精品久久久久777| 日韩国产精品久久久久久亚洲| 最好看的中文字幕久久| 日韩精品一区二区三区在线观看 | 老司机午夜精品| 亚洲男人的天堂在线aⅴ视频| 久久综合色8888| 欧美电影在哪看比较好| 久久这里有精品15一区二区三区| 极品少妇一区二区三区| 成人激情小说网站| 久久成人久久爱| 午夜伦欧美伦电影理论片| 亚洲精品写真福利| 亚洲国产成人私人影院tom| 91精品国产综合久久精品麻豆| 一本色道综合亚洲| 99精品国产高清一区二区| 欧美日韩一区在线视频| 99精品久久久久久| 粉嫩在线一区二区三区视频| 蜜桃久久久久久| 午夜电影一区二区三区| 亚洲最新视频在线播放| 欧美高清在线视频| 亚洲精品在线观看网站| 8x福利精品第一导航| 欧美日韩久久一区二区| 久久一区中文字幕| 久久精品国产清高在天天线| 91久久精品www人人做人人爽| 欧美精品在线一区| 欧美福利一区二区三区| 91视频国产资源| 91免费看`日韩一区二区| 成人av电影在线| 岛国精品一区二区| 久久99精品久久久久| 九色综合狠狠综合久久| 日韩av一区二| 视频一区视频二区中文字幕| 午夜在线成人av| 天天操天天色综合| 亚洲福利视频一区二区| 亚洲一区二区成人在线观看| 亚洲欧美国产三级| 中文字幕视频一区二区三区久| 欧美经典一区二区| 国产日产欧美精品一区二区三区| 亚洲精品一区二区三区影院| 亚洲精品在线观看网站| 国产亚洲视频系列| 国产清纯美女被跳蛋高潮一区二区久久w| 亚洲精品在线三区| 精品国产不卡一区二区三区| 欧美刺激午夜性久久久久久久| 欧美第一区第二区| 精品国产免费一区二区三区香蕉| 精品少妇一区二区三区在线视频| 亚洲精品在线电影| 国产日韩欧美精品在线| 久久精品免视看| 国产欧美精品区一区二区三区 | 午夜宅男欧美| 久久久99国产精品免费| 色悠悠久久综合| 欧美午夜宅男影院| 欧美日韩一区三区四区| 欧美猛男男办公室激情| 欧美一区二区啪啪| 欧美成人a∨高清免费观看| 精品国产乱码久久久久久浪潮|