欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

SpringBoot中如何使用POI導(dǎo)入導(dǎo)出Excel

SpringBoot中如何使用POI導(dǎo)入導(dǎo)出Excel,針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。

網(wǎng)站的建設(shè)創(chuàng)新互聯(lián)公司專注網(wǎng)站定制,經(jīng)驗(yàn)豐富,不做模板,主營(yíng)網(wǎng)站定制開(kāi)發(fā).小程序定制開(kāi)發(fā),H5頁(yè)面制作!給你煥然一新的設(shè)計(jì)體驗(yàn)!已為葡萄架等企業(yè)提供專業(yè)服務(wù)。

1.創(chuàng)建Excel文檔
HSSFWorkbook workbook = new HSSFWorkbook();
2.設(shè)置文檔的基本信息,這一步是可選的
//獲取文檔信息,并配置
DocumentSummaryInformation dsi = workbook.getDocumentSummaryInformation();
//文檔類別
dsi.setCategory("員工信息");
//設(shè)置文檔管理員
dsi.setManager("江南一點(diǎn)雨");
//設(shè)置組織機(jī)構(gòu)
dsi.setCompany("XXX集團(tuán)");
//獲取摘要信息并配置
SummaryInformation si = workbook.getSummaryInformation();
//設(shè)置文檔主題
si.setSubject("員工信息表");
//設(shè)置文檔標(biāo)題
si.setTitle("員工信息");
//設(shè)置文檔作者
si.setAuthor("XXX集團(tuán)");
//設(shè)置文檔備注
si.setComments("備注信息暫無(wú)");

這些信息將顯示在詳細(xì)信息窗格中:

SpringBoot中如何使用POI導(dǎo)入導(dǎo)出Excel

3.創(chuàng)建一個(gè)Excel表單,參數(shù)為sheet的名字
HSSFSheet sheet = workbook.createSheet("XXX集團(tuán)員工信息表");
4.創(chuàng)建一行
HSSFRow headerRow = sheet.createRow(0);

0表示第一行。

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

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

導(dǎo)入Excel數(shù)據(jù)

數(shù)據(jù)導(dǎo)入主要涉及三個(gè)步驟 1.文件上傳;2.Excel解析;3.數(shù)據(jù)插入。第三步就比較簡(jiǎn)單了,我們這里重點(diǎn)來(lái)看看前兩個(gè)步驟。

文件上傳

文件上傳采用了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=='正在導(dǎo)入'"
:before-upload="beforeFileUpload" >
<el-button size="mini" type="success" :loading="fileUploadBtnText=='正在導(dǎo)入'"><i class="fa fa-lg fa-level-up" ></i>{{fileUploadBtnText}}
</el-button>
</el-upload>

正在上傳時(shí),文件上傳控件不可用,上傳成功或者失敗之后才可用,上傳過(guò)程中,上傳按鈕會(huì)有l(wèi)oading顯示。

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

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

Excel解析

將上傳到的MultipartFile轉(zhuǎn)為輸入流,然后交給POI去解析即可??梢苑譃槿缦滤膫€(gè)步驟:

1.創(chuàng)建HSSFWorkbook對(duì)象
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中一共有多少行,遍歷行(注意第一行是標(biāo)題)
int physicalNumberOfRows = sheet.getPhysicalNumberOfRows();
Employee employee;
for (int j = 0; j < physicalNumberOfRows; j++) {
    if (j == 0) {
        continue;//標(biāo)題行
    }
    //...
}
4.獲取每一行有多少單元格,遍歷單元格
int physicalNumberOfCells = row.getPhysicalNumberOfCells();
employee = new Employee();
for (int k = 0; k < physicalNumberOfCells; k++) {
    HSSFCell cell = row.getCell(k);
    //...
}

關(guān)于SpringBoot中如何使用POI導(dǎo)入導(dǎo)出Excel問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

分享標(biāo)題:SpringBoot中如何使用POI導(dǎo)入導(dǎo)出Excel
瀏覽地址:http://chinadenli.net/article46/giijhg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)做網(wǎng)站、網(wǎng)站策劃、全網(wǎng)營(yíng)銷推廣、外貿(mào)網(wǎng)站建設(shè)、外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站