国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 開發 > Java > 正文

java poi導出圖片到excel示例代碼

2024-07-14 08:43:50
字體:
來源:轉載
供稿:網友

本文實例為大家分享了java使用poi導出圖片到Excel的具體代碼,供大家參考,具體內容如下

java,poi,導出圖片,excel,代碼

代碼實現

Controller

/** * 導出志愿者/人才數據 * @param talent_type * @return */@RequestMapping("/exportData")public void exportData(Integer talent_type, HttpServletResponse response) {  String fileId = UUID.randomUUID().toString().replace("-", "");  Map<String, Object> param = new HashMap<>() ;  param.put("talent_type", talent_type) ;  try {   List<Map<String, Object>> volunteerMapList = volunteerService.getExportData(param) ;   String rootPath = SysConfigManager.getInstance().getText("/config/sys/rootPath");   String filePath = rootPath + "/" + fileId + ".xlsx" ;   volunteerService.exportData(volunteerMapList, filePath) ;   // 下載   FileInputStream inputStream = null;   try{     //設置發送到客戶端的響應內容類型     response.reset();     response.setContentLength((int) new File(filePath).length());     response.setContentType("application/octet-stream");     response.addHeader("Content-Disposition", "attachment; filename=/"" + URLEncoder.encode("文件名.xlsx", "UTF-8")+ "/"");     //讀取本地圖片輸入流     inputStream = new FileInputStream(filePath);     // 循環取出流中的數據     byte[] b = new byte[1024];     int len;     while ((len = inputStream.read(b)) > 0)      response.getOutputStream().write(b, 0, len);   } finally{     if(inputStream != null){      inputStream.close();     }   }   logger.debug("導出志愿者/人才數據成功!");  } catch (Exception e) {   e.printStackTrace();   logger.error("導出志愿者/人才數據異常!");  }}

Service

public void exportData(List<Map<String, Object>> volunteerMapList, String filePath) throws Exception {   String[] alias = {"頭像", "名稱", "個人/團體", "志愿者/人才", "性別", "生日", "手機號",       "身份證", "省份", "市", "區/縣", "詳細地址", "郵箱", "政治面貌", "學歷", "民族",       "職業", "團隊人數", "藝術特長", "介紹"};   String[] keys = {"photo", "name", "type", "talent_type", "sex", "birth_day", "mobile",       "idcard", "province", "city", "county", "address", "email", "political",       "education", "nation", "profession", "member_count", "art_spetiality", "content"};   File file = new File(filePath);   if (!file.exists()) file.createNewFile();   FileOutputStream fileOutput = new FileOutputStream(file);   XSSFWorkbook workbook = new XSSFWorkbook();   int sheetSize = volunteerMapList.size() + 50;   double sheetNo = Math.ceil(volunteerMapList.size() / sheetSize);   String photoImgPath = SysConfigManager.getInstance().getText("/config/sys/rootPath") ;   for (int index = 0; index <= sheetNo; index++) {     XSSFSheet sheet = workbook.createSheet();     workbook.setSheetName(index, "人才、志愿者" + index);     XSSFRow row = sheet.createRow(0);     sheet.setColumnWidth(0, 2048);     XSSFCell cell;     XSSFCellStyle cellStyle = workbook.createCellStyle();     XSSFFont font = workbook.createFont();     font.setBoldweight(XSSFFont.BOLDWEIGHT_BOLD);     // 居中     cellStyle.setAlignment(XSSFCellStyle.ALIGN_CENTER);     // 加粗     cellStyle.setFont(font);     //創建標題     for (int i = 0; i < alias.length; i++) {       cell = row.createCell(i);       cell.setCellValue(alias[i]);       cell.setCellStyle(cellStyle);     }     int startNo = index * sheetSize;     int endNo = Math.min(startNo + sheetSize, volunteerMapList.size());     cellStyle = workbook.createCellStyle();     // 居中     cellStyle.setAlignment(XSSFCellStyle.ALIGN_CENTER);     cellStyle.setVerticalAlignment(XSSFCellStyle.VERTICAL_CENTER);     // 寫入各條記錄,每條記錄對應excel表中的一行     for (int i = startNo; i < endNo; i++) {       int rowNum = i + 1 - startNo ;       row = sheet.createRow(rowNum);       Map<String, Object> map = (Map<String, Object>) volunteerMapList.get(i);       for (int j = 0; j < keys.length; j++) {         cell = row.createCell(j);         String key = keys[j] ;         if (key.equals("photo")){           sheet.addMergedRegion(new CellRangeAddress(i + 1,i + 1,i + 1,i + 1)) ;           // 頭像           File photoFile = new File(photoImgPath + map.get(key)) ;           if (photoFile.exists()){             BufferedImage bufferedImage = ImageIO.read(photoFile) ;             ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();             ImageIO.write(bufferedImage, "jpg", byteArrayOut);             byte[] data = byteArrayOut.toByteArray();             XSSFDrawing drawingPatriarch = sheet.createDrawingPatriarch();             XSSFClientAnchor anchor = new XSSFClientAnchor(480, 30, 700, 250, (short)0, i + 1, (short) 1, i + 2);             drawingPatriarch.createPicture(anchor, workbook.addPicture(data, XSSFWorkbook.PICTURE_TYPE_JPEG));             sheet.setColumnWidth((short)500, (short)500);             row.setHeight((short)500);           } else {             cell.setCellType(XSSFCell.CELL_TYPE_STRING);             cell.setCellValue("");           }         } else {           cell.setCellType(XSSFCell.CELL_TYPE_STRING);           Object value = map.get(key);           cell.setCellValue(value == null ? "" : value.toString());           cell.setCellStyle(cellStyle);         }       }     }     // 設置列寬    for (int i = 1; i < alias.length; i++)       sheet.autoSizeColumn(i);     // 處理中文不能自動調整列寬的問題this.setSizeColumn(sheet, alias.length);   }   fileOutput.flush();   workbook.write(fileOutput);   fileOutput.close(); }  // 自適應寬度(中文支持) private void setSizeColumn(XSSFSheet sheet, int size) {   for (int columnNum = 0; columnNum < size; columnNum++) {     int columnWidth = sheet.getColumnWidth(columnNum) / 256;     for (int rowNum = 0; rowNum <= sheet.getLastRowNum(); rowNum++) {       XSSFRow currentRow;       //當前行未被使用過       if (sheet.getRow(rowNum) == null) {         currentRow = sheet.createRow(rowNum);       } else {         currentRow = sheet.getRow(rowNum);       }       if (currentRow.getCell(columnNum) != null) {         XSSFCell currentCell = currentRow.getCell(columnNum);         if (currentCell.getCellType() == XSSFCell.CELL_TYPE_STRING) {           int length = currentCell.getStringCellValue().getBytes().length;           if (columnWidth < length) columnWidth = length;         }       }     }     columnWidth = columnWidth * 256 ;     sheet.setColumnWidth(columnNum, columnWidth >= 65280 ? 6000 : columnWidth);   } }

以上所述是小編給大家介紹java poi導出圖片到excel示例代碼解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
青青青国产视频| 亚洲欧美综合乱码精品成人网| 在线免费看黄网站| 91青青在线视频| 国产二区三区四区| 136福利第一导航国产在线| 在线视频三区| 天堂在线中文资源| 国产精品秘入口| 亚洲免费网站在线观看| 九九热在线观看视频| 国产经典自拍视频在线观看 | 免费视频二区| 国产私人影院| 国产二级c片l毛片| 黄色片av在线| 日本不卡视频一区二区| 国产天堂在线| 国产免费黄色| 日本亚洲精品| 91九色在线看| 天堂中文在线视频| 超碰97国产精品人人cao| 国产黄色片在线观看| 国产女王在线**视频 | 亚洲欧美日韩成人网| 日本成人免费网站| 国产精品入口麻豆免费看| 欧美精品se| 在线一二三区| 国产欧美日韩精品综合| 开心婷婷激情五月| 精品国产二区三区| 国产高清av| 国产激情视频一区二区三区| 免费国产在线视频| 女人色在线免费视频| 国产国产人免费人成免费视频| 久久99国产视频| 免费看ww视频网站入口| jizz国产| 国产免费福利网站| 丁香花高清视频完整版在线观看| 国产字幕在线看| 高清av中文在线字幕观看1| 亚洲精品午夜级久久久久| 精品入口蜜桃| 在线中文资源天堂| 国产成+人+亚洲+欧美+综合| 国产福利在线观看| 国产精品69一区二区三区| 国产高清在线a视频大全| 国产激情小视频在线| 精品国产高清自在线一区二区三区| 97视频免费| 四虎国产精品永久| 国产有码在线| 国产一二三区在线| 99reav在线| 国产中文字幕第一页| 国产小视频在线| 影音av资源站| www免费在线观看| 国产在线免费观看| 精品国产高清自在线一区二区三区| av在线不卡免费| 国产无遮挡又黄又爽免费软件| 精品伦理一区二区| 欧美日韩一区二区三区在线播放 | 欧美高清xxxx性| 88av在线| sese一区| 国产黄色高清在线| 热99re久久精品这里都是免费| 成网站在线观看人免费| 精品欧美不卡一区二区在线观看| 亚洲国产日韩在线人成电影| 国产中文字幕av| 91中文字幕| 国产网红在线观看| 国产在线观看av| 日韩不卡高清| 国产porny蝌蚪视频| 99热在线免费播放| 国产中文在线视频| 午夜影院在线免费观看| 国产精品视频一区二区图片| 黄网站在线观看高清免费| 国产精品186在线观看在线播放 | 开心激情五月婷婷| 四虎精品视频| 亚洲精品午夜级久久久久| 国产wwww| 91午夜在线| 国产黄色免费看| 国产小视频免费在线网址| 九九色在线观看| 日本动漫同人动漫在线观看| 在线免费黄色毛片| 影音先锋中文字幕在线| 国产成人午夜精品| 国产精品186在线观看在线播放| 国产中文字幕在线| 麻豆视频国产| 国产乱在线观看视频| 欧美韩日国产| 国产麻豆视频免费观看| 中文字幕在线永久在线视频| 国产免费麻豆视频| 国产午夜在线观看| 国产二区三区四区| 99久热re在线精彩视频| 日本啊v在线| 国产麻豆精品视频一区二区 | 尤物在线精品视频| 在线视频观看国产| 午夜小视频在线| 青青免费在线视频| 国产乱妇乱子| 91青青在线视频| 天堂在线国产| 天天av综合网| 中文岛国精品亚洲一区| 亚洲xxxxxx| 成人精品福利| 精品电影在线| а√资源新版在线天堂| 久草一本av| 精品一二三区视频| 久久国产情侣| 91在线最新| 九九热在线观看视频| 69国产精品视频| 成人超碰在线| 在线看a视频| 国产免费电影网站入口| 精品入口麻豆传煤| 国产女人在线观看| 性国产高清在线观看| 国产激情视频网址| 九九在线视频| 国产小视频免费在线网址| 亚洲天堂视频在线观看免费| 国产鲁鲁视频在线观看免费| 在线观看国产福利视频| 国产精品亚洲第五区在线| gogogogo高清视频在线| 2019中文字幕在线电影免费| 国产在线你懂得| 四虎成人欧美精品在永久在线| 国产亚洲精品久久久久久青梅| 久久精品视频免费看| 亚洲sss视频| 中文字幕av在线播放| 国产精品免费91| 国产亚洲精品自在线观看| 亚洲欧美自拍另类| 伊人222成人综合网| 国产成人高清精品| 国产黄a三级三级三级av在线看 | 激情视频国产| 久久精品视频免费看| 日本一本久久| 免费精品国产自产拍在| 免费国产阿v视频在线观看| 亚洲综合在线免费| 91社区在线观看| 91极品在线| 精品剧情v国产在线观看| 69堂视频在线观看国产| 国产成人无吗| 在线天堂中文| h网站免费在线观看| 免费高清视频日韩| 国产乱子伦三级在线播放| 午夜国产视频| 国产精品久久久久久久久鸭| 国产精品入口麻豆免费观看| 国产日本在线观看| 精品全国在线一区二区| 亚洲精品天堂在线| 亚洲天堂视频在线观看免费| 四虎影院成人| 国产久草在线| 在线免费观看你懂的| 狂野欧美性猛交xxxx乱大交| 中文字幕麻豆| baoyu777.永久免费视频| 黄色毛片在线观看| 国产经典自拍视频在线观看| www.狠狠| 国产福利在线视频| 丁香视频五月| h视频在线网站| 国产丝袜在线播放| 狂野欧美性猛交xxxx乱大交| 国产小视频在线播放| 亚洲精品天堂在线| 国产丝袜护土调教在线视频| gogogogo高清视频在线|