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

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

java 使用poi 導(dǎo)入Excel數(shù)據(jù)到數(shù)據(jù)庫(kù)的步驟

瀏覽:152日期:2022-05-25 14:32:51

由于我個(gè)人電腦裝的Excel是2016版本的,所以這地方我使用了XSSF 方式導(dǎo)入 。

1 先手要制定一個(gè)Excel 模板 把模板放入javaWeb工程的某一個(gè)目錄下如圖:

java 使用poi 導(dǎo)入Excel數(shù)據(jù)到數(shù)據(jù)庫(kù)的步驟

2 模板建好了后,先實(shí)現(xiàn)模板下載功能 下面是頁(yè)面jsp代碼在這里只貼出部分代碼

<!-- excel 導(dǎo)入小模塊窗口 --><div class='' style='display: none;'> <form action='<%=basePath%>book/dishes/backstageversion/list!importExcel' method='post' enctype='multipart/form-data' onsubmit='loading(’正在導(dǎo)入,請(qǐng)稍等...’);'><br/> <input name='file' type='file' /><br/><br/> <input type='submit' value=' 導(dǎo) 入 '/> <input type='hidden' name='importCompanyId' value=''/> <input type='hidden' name='importStallId' value=''/> <a href='http://www.piao2010.com/bcjs/<%=basePath%>book/dishes/backstageversion/list!exportOrder' rel='external nofollow' rel='external nofollow' >下載模板</a> </form></div>

<!-- excel 導(dǎo)入小模塊窗口 --><div class='' style='display: none;'> <form action='<%=basePath%>book/dishes/backstageversion/list!importExcel' method='post' enctype='multipart/form-data' onsubmit='loading(’正在導(dǎo)入,請(qǐng)稍等...’);'><br/> <input name='file' type='file' /><br/><br/> <input type='submit' value=' 導(dǎo) 入 '/> <input type='hidden' name='importCompanyId' value=''/> <input type='hidden' name='importStallId' value=''/> <a href='http://www.piao2010.com/bcjs/<%=basePath%>book/dishes/backstageversion/list!exportOrder' rel='external nofollow' rel='external nofollow' >下載模板</a> </form></div>

下面是js

<!-- Bootstrap --> <link href='http://www.piao2010.com/bcjs/<%=path %>/res/admin/css/bootstrap.min.css' rel='external nofollow' rel='stylesheet' type='text/css' /> <link href='http://www.piao2010.com/bcjs/<%=path %>/res/admin/css/xy_css.css' rel='external nofollow' rel='stylesheet' type='text/css'> <link href='http://www.piao2010.com/bcjs/<%=path %>/res/admin/css/font-awesome.min.css' rel='external nofollow' rel='stylesheet' type='text/css'> <script src='http://www.piao2010.com/bcjs/<%=path %>/res/admin/js/jquery.min.js'></script> <script src='http://www.piao2010.com/bcjs/<%=path %>/res/admin/js/bootstrap.min.js'></script> <link href='http://www.piao2010.com/bcjs/<%=path %>/res/admin/jquery-select2/3.4/select2.css' rel='external nofollow' rel='stylesheet' type='text/css' /> <script src='http://www.piao2010.com/bcjs/<%=path %>/res/admin/jquery-select2/3.4/select2.min.js'></script> <script src='http://www.piao2010.com/bcjs/<%=path %>/res/admin/jquery-select2/3.4/select2_locale_zh-CN.js'></script> <script type='text/javascript' src='http://www.piao2010.com/bcjs/<%=basePath%>res/admin/js/layer/layer.js'></script> <script type='text/javascript'> $(document).ready(function (){//加載頁(yè)面時(shí)執(zhí)行select2 $('select').select2(); //彈出導(dǎo)出窗口 $('#btnImport').click(function(){ var importStallId = $('#stallId option:selected').val(); var importCompanyId = $('#companyId option:selected').val(); $('#importCompanyId').val(importCompanyId); $('#importStallId').val(importStallId); if(importStallId==null || importStallId==''){ alert('請(qǐng)選擇檔口'); }else{ layer.open({ type: 1, skin: ’layui-layer-rim’, //加上邊框 area: [’600px’, ’350px’], //寬高 content: $(’#importBox’) }); } }); });3 下面是后臺(tái)代碼Action 類

一:下載模板代碼

/** * 下載模板 * @throws IOException */ public void exportOrder() throws IOException{ HttpServletRequest request = ServletActionContext.getRequest(); HttpServletResponse response = ServletActionContext.getResponse(); File file = null; InputStream inputStream = null; ServletOutputStream out = null; try { request.setCharacterEncoding('UTF-8'); String realPath = ServletActionContext.getServletContext().getRealPath('/'); file = new File(realPath+'WEB-INF/mailtemplate/dishes.xlsx'); inputStream = new FileInputStream(file); response.setCharacterEncoding('utf-8'); response.setContentType('application/msexcel'); response.setHeader('content-disposition', 'attachment;filename=' + URLEncoder.encode('菜品導(dǎo)入' + '.xlsx', 'UTF-8')); out = response.getOutputStream(); byte[] buffer = new byte[512]; // 緩沖區(qū) int bytesToRead = -1; // 通過循環(huán)將讀入的Excel文件的內(nèi)容輸出到瀏覽器中 while ((bytesToRead = inputStream.read(buffer)) != -1) { out.write(buffer, 0, bytesToRead); } out.flush(); } catch (Exception e) { e.printStackTrace(); } finally { if (inputStream != null) inputStream.close(); if (out != null) out.close(); if (file != null) file.delete(); // 刪除臨時(shí)文件 } }

二: 導(dǎo)入代碼

/** * 導(dǎo)入 * @throws IOException */ public void importExcel() throws IOException { List<Dishes> dishesList = getDishesList(file); if(dishesList !=null && dishesList.size()>0){ for(Dishes dishes : dishesList){ targetService.add(dishes); } } String basePath = ServletActionContext.getServletContext().getContextPath(); ServletActionContext.getResponse().sendRedirect(basePath + '/book/dishes/backstageversion/list'); } /** * 讀取Excel數(shù)據(jù) * @param filePath * @return List * @throws IOException */ private List<Dishes> getDishesList(String filePath) throws IOException { XSSFWorkbook workBook= null; InputStream is = new FileInputStream(filePath); try { workBook = new XSSFWorkbook(is); } catch (Exception e) { e.printStackTrace(); } Dishes dishes=null; List<Dishes> dishesList = new ArrayList<Dishes>(); //循環(huán)工作表sheet //List<XSSFPictureData> picturesList = getPicturesList(workBook);//獲取所有圖片 for(int numShett = 0;numShett<workBook.getNumberOfSheets();numShett++){ XSSFSheet sheet = workBook.getSheetAt(numShett); //調(diào)用獲取圖片 Map<String, PictureData> pictureDataMap = getPictureDataMap(sheet, workBook);if(sheet==null){ continue; } //循環(huán)Row for(int rowNum=1;rowNum<=sheet.getLastRowNum();rowNum++){ Row row = sheet.getRow(rowNum); if(row==null){ continue; }dishes = new Dishes(); //Cell Cell dishesName = row.getCell(0); if(dishesName==null){ continue; } dishes.setName(getValue(dishesName));//菜品名稱 Cell price = row.getCell(1); if(price==null){ continue; } dishes.setPrice(Double.parseDouble(getValue(price)));//優(yōu)惠價(jià)格 Cell oldPrice = row.getCell(2); if(oldPrice==null){ continue; } dishes.setOldPrice(Double.parseDouble(getValue(oldPrice)));//原價(jià)格 Cell summary = row.getCell(3); if(summary==null){ continue; } dishes.setSummary(getValue(summary));//菜品描述 Cell online = row.getCell(4); if(online==null){ continue; } dishes.setOnline(Integer.parseInt(getValue(online)));//是否上下架 Cell packCharge = row.getCell(5); if(packCharge==null){ continue; } dishes.setPackCharge(Double.parseDouble(getValue(packCharge)));//打包費(fèi) Cell stockNumber = row.getCell(6); if(stockNumber==null){//庫(kù)存為必填 continue; } dishes.setStockNumber(Integer.parseInt(getValue(stockNumber)));//每餐庫(kù)存 Cell immediateStock = row.getCell(7); if(immediateStock==null){//當(dāng)前庫(kù)存 continue; } dishes.setImmediateStock(Integer.parseInt(getValue(immediateStock)));//當(dāng)前庫(kù)存 Cell purchaseLimit = row.getCell(8); if(purchaseLimit==null){ continue; } dishes.setPurchaseLimit(Integer.parseInt(getValue(purchaseLimit)));//限購(gòu)數(shù)量 Cell restrictionType = row.getCell(9);if(restrictionType==null){ continue; } dishes.setRestrictionType(Integer.parseInt(getValue(restrictionType)));//限購(gòu)方式 Cell sort = row.getCell(10); if(sort==null){ continue; } dishes.setSort(Integer.parseInt(getValue(sort)));//排序 Cell contents = row.getCell(11); if(contents==null){ continue; } dishes.setContents(getValue(contents));//菜品詳情 dishes.setCreateTime(new Date()); Company company = companyService.load(importCompanyId); Stall stall = stallService.load(importStallId); dishes.setCompany(company); dishes.setStall(stall); //set 圖片 PictureData pictureData = pictureDataMap.get(rowNum+''); if(pictureData !=null){ String upImageUrl = UpImage(pictureData.getData()); dishes.setImage(upImageUrl); } dishesList.add(dishes); } } return dishesList; } /** * 得到Excel表中的值 * @param hssfCell * @return String */ @SuppressWarnings('unused') private String getValue(Cell cell){ DecimalFormat df = new DecimalFormat('###################.###########'); if(cell.getCellType()==cell.CELL_TYPE_BOOLEAN){ return String.valueOf(cell.getBooleanCellValue()); } if(cell.getCellType()==cell.CELL_TYPE_NUMERIC){ return String.valueOf(df.format(cell.getNumericCellValue())); }else{ return String.valueOf(cell.getStringCellValue()); } }4 get set 方法

private String file; private Long importCompanyId; private Long importStallId;

public String getFile() { return file; } public void setFile(String file) { this.file = file; } public Long getImportCompanyId() { return importCompanyId; } public void setImportCompanyId(Long importCompanyId) { this.importCompanyId = importCompanyId; } public Long getImportStallId() { return importStallId; } public void setImportStallId(Long importStallId) { this.importStallId = importStallId; }

公司需求改變要增加導(dǎo)入圖片到又拍云服務(wù)器,所以下面增加讀取excel圖片

/** * 讀取Excel 中圖片 * @param sheet * @param workBook * @return */ private Map<String, PictureData> getPictureDataMap(XSSFSheet sheet,XSSFWorkbook workBook){ Map<String, PictureData> map = new HashMap<String,PictureData>(); for(POIXMLDocumentPart dr : sheet.getRelations()){ if(dr instanceof XSSFDrawing){ XSSFDrawing drawing = (XSSFDrawing) dr; List<XSSFShape> shapesList = drawing.getShapes(); if(shapesList !=null && shapesList.size()>0){ for(XSSFShape shape : shapesList){ XSSFPicture pic = (XSSFPicture) shape; XSSFClientAnchor anchor = pic.getPreferredSize(); CTMarker cTMarker = anchor.getFrom(); String picIndex = cTMarker.getRow()+''; map.put(picIndex, pic.getPictureData()); } } } } return map; }

/** * 上傳圖片到又拍云 * @param bytes * @return */ private String UpImage(byte[] bytes){ String fileName = UUID.randomUUID().toString() + '.jpg'; String uploadURL = UpYunClient.upload(fileName, bytes); return uploadURL; }

注意:請(qǐng)用Poi jar 3.9 版本 不然讀取圖片代碼會(huì)報(bào)錯(cuò)

以上就是java 使用poi 導(dǎo)入Excel 數(shù)據(jù)到數(shù)據(jù)庫(kù)的步驟的詳細(xì)內(nèi)容,更多關(guān)于Java 導(dǎo)入Excel 數(shù)據(jù)到數(shù)據(jù)庫(kù)的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: excel
相關(guān)文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
日韩欧美成人激情| 欧美日韩一区精品| 一区二区三区三区在线| 日本精品一区二区三区高清 | 国产一区二区中文字幕免费看| 91国偷自产一区二区三区观看| 一色屋精品亚洲香蕉网站| 狠狠色狠狠色合久久伊人| 伊人久久亚洲影院| 在线不卡中文字幕播放| 亚洲国产裸拍裸体视频在线观看乱了| 成人一区二区三区视频在线观看| 亚洲一区亚洲| 久久亚洲精品小早川怜子| 日本成人中文字幕| 在线视频成人| 欧美白人最猛性xxxxx69交| 亚洲福利一二三区| av午夜一区麻豆| 91福利国产精品| 亚洲青青青在线视频| k8久久久一区二区三区| 欧美在线观看一二区| 国产欧美精品一区二区色综合朱莉| 日本中文字幕一区| 影音先锋在线一区| 亚洲精品在线免费观看视频| 天堂在线一区二区| 国产精品二区二区三区| 日韩女优毛片在线| 日韩精品免费视频人成| 亚洲第一精品影视| 欧美不卡在线视频| 老司机精品视频在线| 亚洲欧美日韩专区| 亚洲品质自拍视频网站| 成人av电影在线观看| 91精品福利视频| 亚洲一区精品在线| 国产成人精品亚洲日本在线桃色| 欧美日韩国产高清一区二区三区 | 久久精品女人天堂| 色欧美乱欧美15图片| 国产精品综合网| 中文字幕在线视频一区| 最新国产拍偷乱拍精品 | 欧美mv日韩mv国产网站| 美女免费视频一区| 久久亚洲综合| 精品国产乱码久久久久久免费| 欧美日韩一区二区三区四区 | 波多野结衣一区二区三区| 日韩精品中文字幕在线不卡尤物| 欧美激情第六页| 日韩一区在线看| 亚洲123区在线观看| 亚洲精品欧美| 中文一区二区完整视频在线观看| 99精品视频在线播放观看| 91麻豆精品国产91久久久久久久久| 免费高清在线视频一区·| 性一交一乱一区二区洋洋av| 亚洲精品午夜久久久| 亚洲国产精品一区二区第四页av| 国产精品视频免费看| 欧美日韩1区| 欧美激情一区在线| 色综合天天综合网国产成人综合天| 91精品国产高清一区二区三区| 日韩高清不卡一区二区| 性感少妇一区| 午夜av区久久| 久久综合一区| 日本aⅴ免费视频一区二区三区 | 日韩av一二三| 色婷婷综合五月| 日本最新不卡在线| 久久综合久久综合这里只有精品| 亚洲国产精品一区二区久久恐怖片| 亚洲毛片网站| 国产精品久久久久久久久晋中| 91麻豆精品在线观看| 久久免费视频色| 97久久精品人人爽人人爽蜜臀| 久久综合视频网| 欧美私人啪啪vps| 亚洲欧美色综合| 亚洲免费在线| 乱一区二区av| 欧美一级国产精品| 91女人视频在线观看| 国产精品久99| 中文久久精品| 奇米精品一区二区三区在线观看| 欧美日韩精品免费观看视频| 国产美女主播视频一区| 日韩欧美资源站| 欧美在线视屏| 樱花影视一区二区| 久久精品女人的天堂av| 韩国中文字幕2020精品| 日韩一级黄色片| 91蜜桃婷婷狠狠久久综合9色| 中文一区二区在线观看| 亚洲深夜影院| 精品在线一区二区三区| 日韩美一区二区三区| 欧美色一级片| 亚洲高清不卡在线| 国产精品毛片| 蜜桃av噜噜一区二区三区小说| 欧美日韩国产另类一区| 成人免费毛片aaaaa**| 久久精品网站免费观看| 亚洲日产国产精品| 蜜桃精品视频在线| 久久久久99精品国产片| 最新国产乱人伦偷精品免费网站| 五月婷婷激情综合| 日韩精品一区二区三区中文不卡 | 亚洲成在人线免费| 色哟哟一区二区| 国产999精品久久久久久| 欧美亚洲国产怡红院影院| 成人黄色av网站在线| 亚洲三级免费观看| 91传媒视频在线播放| 不卡电影一区二区三区| 亚洲男人天堂av| 欧美视频一区二区三区| 91在线播放网址| 亚洲综合色成人| 欧美一区二区视频在线观看2020 | 天天色天天爱天天射综合| 日韩欧美的一区二区| 韩日成人在线| 日韩成人av影视| 久久色在线观看| 美女精品国产| 99久久综合国产精品| 亚洲综合区在线| 26uuu久久天堂性欧美| 午夜一区二区三视频在线观看| 国产成人在线视频免费播放| 亚洲日本护士毛茸茸| 在线不卡免费av| 国色天香一区二区| 美女www一区二区| 国产精品青草综合久久久久99| 国产精品毛片| 白白色亚洲国产精品| 亚洲午夜精品一区二区三区他趣| 欧美一级电影网站| 激情视频一区二区三区| 爽好多水快深点欧美视频| 精品91自产拍在线观看一区| 销魂美女一区二区三区视频在线| 不卡视频一二三四| 亚洲成人一二三| 91精品国产综合久久久久久久| 激情成人亚洲| 九九九久久久精品| 亚洲麻豆国产自偷在线| 日韩欧美色综合| 久久午夜精品| 91色乱码一区二区三区| 美脚の诱脚舐め脚责91| 亚洲男人天堂av| 亚洲精品在线免费播放| 91高清在线观看| 亚洲国产日韩欧美一区二区三区| 国产精品主播直播| 亚洲成国产人片在线观看| 国产精品系列在线| 欧美一二区视频| 久久字幕精品一区| 欧美成人一区二免费视频软件| 欧亚洲嫩模精品一区三区| 在线观看成人av电影| 1024精品一区二区三区| 亚洲激情一区二区| 亚洲欧洲一区二区在线观看 | 亚洲精品裸体| 亚洲神马久久| 国产精品一区亚洲| 久久九九99| 在线观看一区日韩| 欧美日韩免费高清一区色橹橹| 欧美日韩在线一区二区| 欧美三区在线视频| 欧美狂野另类xxxxoooo| 欧美一区二区三区四区久久| 日韩欧美国产小视频| 国产欧美一区二区三区在线看蜜臀| 国产日韩欧美精品一区| 综合欧美一区二区三区| 亚洲欧美另类小说| 亚洲大片免费看| 毛片基地黄久久久久久天堂| 国产中文字幕精品|