日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java poi excel 图表_Java用POI实现根据Excel表格模板生成新的Excel并实现数据输出

發布時間:2023/12/10 java 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java poi excel 图表_Java用POI实现根据Excel表格模板生成新的Excel并实现数据输出 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、

模板excel

結果excel

二、

項目所需jar包

poi-3.11-20141221.jar

poi-examples-3.11-20141221.jar

poi-excelant-3.11-20141221.jar

poi-ooxml-3.11-20141221.jar

poi-ooxml-schemas-3.11-20141221.jar

poi-scratchpad-3.11-20141221.jar

xmlbeans-2.6.0.jar

curvesapi-1.04.jar

三、項目源代碼

controller部分/**導出到excel * @param * @throws Exception */ @RequestMapping(value="/excel") public ModelAndView exportExcel() throws Exception{ logBefore(logger, Jurisdiction.getUsername()+"導出Excel到excel"); if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;} ModelAndView mv; //獲取頁面表單傳遞過來的參數 PageData pd = this.getPageData(); //dataMap作為model,存入數據 Map dataMap = new HashMap<>(); //存儲模板Excel路徑和生成Excel路徑 List urls=new ArrayList<>(); //存儲所有heads List heads=new ArrayList<>(); //存儲尾部的數值 List tails=new ArrayList<>(); //獲取當前日期 Date date = new Date(); //模板Excel文件路徑 //后綴為xls的文件路徑 String demoUrl=ExcelController.class.getClassLoader().getResource("reportxls/ExportExcel.xls").getPath().replaceFirst("/",""); //按日期設定當前Excel表格的名字 String fileName = Tools.date2Str(date, "yyyyMMddHHmmss"); //生成Excel文件名稱 //String excelUrl=fileName+".xlsx"; //后綴為xlsx文件的路徑 String excelUrl=fileName+".xls"; //將路徑添加到urls當中 urls.add(demoUrl); urls.add(excelUrl); //將urls路徑存入到dataMap當中,作為model傳入到視圖中 dataMap.put("urls",urls); //表格所需要的標題1 String head1="標題1"; //表格所需要的標題2 String head2="標題2"; //表格所需要的標題3 String head3="標題3"; //表格所需要的標題4 String head4="標題4"; //表格所需要的標題5 //String head5="標題5"; //存入這些標題 heads.add(head1); heads.add(head2); heads.add(head3); heads.add(head4); //heads.add(head5); //表格所需要的尾部1 String tail1="尾部1"; //存入表格所需要的尾部 tails.add(tail1); //表格所需要的尾部2 String tail2="尾部2"; //存入表格所需的尾部 tails.add(tail2); //將tails存入到dataGrip中 dataMap.put("tails",tails); //將標題存放到存入到dataGrip當中 dataMap.put("heads",heads); //獲取當前Excel表格所需要的內容 List varOList = excelService.listAll(pd); dataMap.put("varOList",varOList); //創建需要渲染的Excel表格視圖 //進行文件后綴類型判斷 if (demoUrl.endsWith(".xls")){ XlsExcelView erv=new XlsExcelView(); mv=new ModelAndView(erv,dataMap); }else { XlsxExcelView erv=new XlsxExcelView(); mv=new ModelAndView(erv,dataMap); } return mv; }

視圖部分public class XlsExcelView extends AbstractXlsView { @Override protected void buildExcelDocument(Map map, Workbook workbook, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception { //獲取當前的urls地址 List urls=(List)map.get("urls"); //表格所要存儲的標題 List heads=(List)map.get("heads"); //表格所要存儲的尾部 List tails=(List)map.get("tails"); //獲取查詢到的結果集 List varOList=(List)map.get("varOList"); //獲取主表信息 PageData mainInfo=(PageData)map.get("mainInfo"); //創建Excel文件的輸入流對象 FileInputStream fis=new FileInputStream(urls.get(0)); //根據模板創建Excel工作簿 workbook=new HSSFWorkbook(fis); //創建Excel文件輸出流對象 OutputStream out=httpServletResponse.getOutputStream(); httpServletResponse.setContentType("application/octet-stream"); httpServletResponse.setHeader("Content-Disposition","attachment;filename="+urls.get(1)); //將workboo強轉成需要的HSSFBook HSSFWorkbook HSSFWorkbook=(HSSFWorkbook)workbook; //獲取創建工作簿的第一頁 HSSFSheet sheet=HSSFWorkbook.getSheetAt(0); //給指定的sheet命名 HSSFWorkbook.setSheetName(0,"dataSheet"); //初始化當前的索引,設為當前sheet的最后一行行數 int currentLastRowIndex=sheet.getLastRowNum(); //存儲當前表格的樣式 HSSFCellStyle cellStyle=HSSFWorkbook.createCellStyle(); //獲取當前工作簿的行數 int totalRows=sheet.getPhysicalNumberOfRows(); /***********************遍歷模板sheet,根據當中的設定進行賦值*******************************************************************/ for (int i=0;i

總結

以上是生活随笔為你收集整理的java poi excel 图表_Java用POI实现根据Excel表格模板生成新的Excel并实现数据输出的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。