91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SpringBoot中如何使用POI導入導出Excel

發布時間:2021-07-30 16:52:13 來源:億速云 閱讀:189 作者:Leah 欄目:大數據

SpringBoot中如何使用POI導入導出Excel,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

1.創建Excel文檔
HSSFWorkbook workbook = new HSSFWorkbook();
2.設置文檔的基本信息,這一步是可選的
//獲取文檔信息,并配置
DocumentSummaryInformation dsi = workbook.getDocumentSummaryInformation();
//文檔類別
dsi.setCategory("員工信息");
//設置文檔管理員
dsi.setManager("江南一點雨");
//設置組織機構
dsi.setCompany("XXX集團");
//獲取摘要信息并配置
SummaryInformation si = workbook.getSummaryInformation();
//設置文檔主題
si.setSubject("員工信息表");
//設置文檔標題
si.setTitle("員工信息");
//設置文檔作者
si.setAuthor("XXX集團");
//設置文檔備注
si.setComments("備注信息暫無");

這些信息將顯示在詳細信息窗格中:

SpringBoot中如何使用POI導入導出Excel

3.創建一個Excel表單,參數為sheet的名字
HSSFSheet sheet = workbook.createSheet("XXX集團員工信息表");
4.創建一行
HSSFRow headerRow = sheet.createRow(0);

0表示第一行。

5.在第一行中創建第一個單元格,并設置數據
HSSFCell cell0 = headerRow.createCell(0);
cell0.setCellValue("編號");
6.將Excel寫到ByteArrayOutputStream中
baos = new ByteArrayOutputStream();
workbook.write(baos);
7.創建ResponseEntity并返回
return new ResponseEntity<byte[]>(baos.toByteArray(), headers, HttpStatus.CREATED);

核心步驟就這七個步驟,當然還有其他設置單元格數據格式、單元格背景、單元格寬度等,大家可以在源碼中研究,這里就不贅述了。

導入Excel數據

數據導入主要涉及三個步驟 1.文件上傳;2.Excel解析;3.數據插入。 第三步就比較簡單了,我們這里重點來看看前兩個步驟。

文件上傳

文件上傳采用了ElementUI中的Upload控件,如下:

<el-upload
:show-file-list="false"
accept="application/vnd.ms-excel"
action="/emp/basic/importEmp"
:on-success="fileUploadSuccess"
:on-error="fileUploadError" :disabled="fileUploadBtnText=='正在導入'"
:before-upload="beforeFileUpload" >
<el-button size="mini" type="success" :loading="fileUploadBtnText=='正在導入'"><i class="fa fa-lg fa-level-up" ></i>{{fileUploadBtnText}}
</el-button>
</el-upload>

正在上傳時,文件上傳控件不可用,上傳成功或者失敗之后才可用,上傳過程中,上傳按鈕會有loading顯示。

然后在SpringMVC中接收上傳文件即可:

@RequestMapping(value = "/importEmp", method = RequestMethod.POST)
public RespBean importEmp(MultipartFile file) {
    //...
}

Excel解析

將上傳到的MultipartFile轉為輸入流,然后交給POI去解析即可。可以分為如下四個步驟:

1.創建HSSFWorkbook對象
HSSFWorkbook workbook = new HSSFWorkbook(new POIFSFileSystem(file.getInputStream()));
2.獲取一共有多少sheet,然后遍歷
int numberOfSheets = workbook.getNumberOfSheets();
for (int i = 0; i < numberOfSheets; i++) {
    HSSFSheet sheet = workbook.getSheetAt(i);
    //...
}
3.獲取sheet中一共有多少行,遍歷行(注意第一行是標題)
int physicalNumberOfRows = sheet.getPhysicalNumberOfRows();
Employee employee;
for (int j = 0; j < physicalNumberOfRows; j++) {
    if (j == 0) {
        continue;//標題行
    }
    //...
}
4.獲取每一行有多少單元格,遍歷單元格
int physicalNumberOfCells = row.getPhysicalNumberOfCells();
employee = new Employee();
for (int k = 0; k < physicalNumberOfCells; k++) {
    HSSFCell cell = row.getCell(k);
    //...
}

關于SpringBoot中如何使用POI導入導出Excel問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

巩留县| 神农架林区| 咸丰县| 玛纳斯县| 连州市| 苍梧县| 浦江县| 南京市| 关岭| 镇赉县| 交城县| 阳东县| 偏关县| 浏阳市| 罗城| 建昌县| 柘荣县| 嘉峪关市| 宿州市| 长顺县| 德化县| 龙山县| 曲靖市| 三江| 兰坪| 祥云县| 徐汇区| 肇源县| 新平| 绥中县| 淮阳县| 南宁市| 新田县| 富源县| 铅山县| 隆德县| 上饶市| 陕西省| 夹江县| 固始县| 浦城县|