1. <nobr id="easjo"><address id="easjo"></address></nobr>

      <track id="easjo"><source id="easjo"></source></track>
      1. 
        

      2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
      3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>
          貴州做網站公司
          貴州做網站公司~專業!靠譜!
          10年網站模板開發經驗,熟悉國內外開源網站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等網站程序,可為您提供網站建設,網站克隆,仿站,網頁設計,網站制作,網站推廣優化等服務。我們專注高端營銷型網站,企業官網,集團官網,自適應網站,手機網站,網絡營銷,網站優化,網站服務器環境搭建以及托管運維等。為客戶提供一站式網站解決方案?。?!

          通過模板生成Excel表格——XLSTransformer

          來源:互聯網轉載 時間:2024-01-29 08:22:18

          依賴:

          <dependency>            <groupId>net.sf.jxls</groupId>            <artifactId>jxls-core</artifactId>            <version>1.0</version>        </dependency>        <dependency>            <groupId>net.sf.jxls</groupId>            <artifactId>jxls-reader</artifactId>            <version>1.0</version>        </dependency>
          /** * 根據模版生成保存到指定位置 * @param pathTemplateFileName 模版路徑 * @param list * @param pathResultFileName 存放路徑 * @return */    public static boolean createExcel(String pathTemplateFileName, List<?> list, String pathResultFileName){            //創建xlstransformer對象        XLSTransformer transformer = new XLSTransformer();        //獲取java項目編譯后根路徑        //URL url = ExcelUtil.class.getClassLoader().getResource("");        //得到模板文件路徑        //String srcFilePath = url.getPath() + templateFileName;        //String destFilePath = url.getPath() + resultFileName;        Map<String,Object> beanParams = new HashMap<String,Object>();        beanParams.put("list", list);        try {                //生成Excel文件            transformer.transformXLS(pathTemplateFileName, beanParams,pathResultFileName );            return true;        } catch (Exception e) {                e.printStackTrace();            return false;        }    }    /** * 根據模版生成 excel的工作簿 * @param pathTemplateFileName * @param list * @return */    public static Workbook createHSSFWorkbook(String pathTemplateFileName, List<?> list){            //創建XLSTransformer對象        XLSTransformer transformer = new XLSTransformer();        Map<String,Object> beanParams = new HashMap<String,Object>();        beanParams.put("list", list);        Workbook hssfWorkbook=null;        try {                InputStream is = new BufferedInputStream(new FileInputStream(pathTemplateFileName));            hssfWorkbook = transformer.transformXLS(is, beanParams);            is. close();        } catch (Exception e) {                e.printStackTrace();        }        return hssfWorkbook;    }    /** * 寫到輸入流中 * @param pathTemplateFileName * @param list */    public static InputStream getExceInput(String pathTemplateFileName, List<?> list) throws Exception {            XLSTransformer transformer = new XLSTransformer();        Map<String,Object> beanParams = new HashMap<String,Object>();        beanParams.put("dateFormat",new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));        beanParams.put("list", list);        InputStream inputStream = new BufferedInputStream(new FileInputStream(pathTemplateFileName));        transformer.transformXLS(inputStream, beanParams);        return inputStream;    }    public static boolean setExceOutput(String pathTemplateFileName, List<?> list,OutputStream outputStream){            XLSTransformer transformer = new XLSTransformer();        Map<String,Object> beanParams = new HashMap<String,Object>();        InputStream is=null;        try {                beanParams.put("list", list);            is = new BufferedInputStream(new FileInputStream(pathTemplateFileName));            Workbook wb = transformer.transformXLS(is, beanParams);            wb.write(outputStream);            return true;        }catch (ParsePropertyException ex){                ex.printStackTrace();        }catch (InvalidFormatException ex){                ex.printStackTrace();        }catch (IOException ex){                ex.printStackTrace();        } finally {                if (is!=null){                    try {                        is.close();                } catch (IOException e) {                        e.printStackTrace();                }            }        }        return false;    }    /** * 裝配 返回數據流水 * @param pathTemplateFileName * @param list * @return */    public static   byte[] getExceByte(String pathTemplateFileName, List<?> list){            //創建XLSTransformer對象        XLSTransformer transformer = new XLSTransformer();        Map<String,Object> beanParams = new HashMap<String,Object>();        beanParams.put("list", list);        byte[] bytes=null;        InputStream is=null;        ByteArrayOutputStream out=null;        try {                is = new BufferedInputStream(new FileInputStream(pathTemplateFileName));            Workbook wb = transformer.transformXLS(is, beanParams);            out = new ByteArrayOutputStream();            wb.write(out);            bytes = out.toByteArray();        } catch (Exception e) {                e.printStackTrace();        }finally {                try {                    if (is!=null) {                        is.close();                }            } catch (IOException e) {                    e.printStackTrace();            }            try {                    if (out!=null) {                        out.close();                }            } catch (IOException e) {                    e.printStackTrace();            }        }        return bytes;    }    /** *根據工作博導出集合對象 * @param wb * @param sheetAt 解析那個sheet頁 * @param statIndex 那一行開始 * @param tClass 解析目標對象 * @param <T> * @return * @throws IllegalAccessException * @throws instantiationexception */    public static <T> List<T> getList(Workbook wb,int sheetAt,int statIndex,Class<T> tClass ) throws IllegalAccessException, InstantiationException {            List<T> list=new ArrayList<>();        Sheet sheet = wb.getSheetAt(sheetAt);        int lastRowNum = sheet.getLastRowNum();        for (int i=statIndex;i<=lastRowNum;i++){                Row row = sheet.getRow(i);            if(row==null){                    continue;            }            T t= tClass.newInstance();            Field[] declaredFields = tClass.getDeclaredFields();            for (Field f : declaredFields) {                    f.setAccessible(true); //設置些屬性是可以訪問的                //Object val = f.get(t);//得到此屬性的值                //String name = f.getName();//獲得屬性名                ExcelIndex annotation = f.getAnnotation(ExcelIndex.class);                if (annotation==null){                        continue;                }                Cell cell = row.getCell(annotation.value());                f.set(t,getFCellValue(cell));            }            list.add(t);        }        return list;    }    /** * 獲取單元格的值 * @param cell * @return */    private static   Object getFCellValue(Cell cell){            if(cell==null){                return null;        }        switch (cell.getCellType()) {                case 0: // 數字                return cell.getNumericCellValue();            case 1: // 字符串                return cell.getStringCellValue();            case 4: // Boolean                return cell.getBooleanCellValue();            case 2: // 公式                return    cell.getCellFormula();            case 3: // 空值                return null;            case 5: // 故障                return null;            default://未知                return null;        }    }    public static void main(String[] args) throws Throwable {            createExcel("D:/555.xlsx",new ArrayList<>(),"D:/test.xlsx");    }

          163867.html

          標簽:xlstransformer-
          上一篇:Tokenize

          網絡推廣與網站優化公司(網絡優化與推廣專家)作為數字營銷領域的核心服務提供方,其價值在于通過技術手段與策略規劃幫助企業提升線上曝光度、用戶轉化率及品牌影響力。這...

          在當今數字化時代,公司網站已成為企業展示形象、傳遞信息和開展業務的重要平臺。然而,對于許多公司來說,網站建設的價格是一個關鍵考量因素。本文將圍繞“公司網站建設價...

          在當今的數字化時代,企業網站已成為企業展示形象、吸引客戶和開展業務的重要平臺。然而,對于許多中小企業來說,高昂的網站建設費用可能會成為其發展的瓶頸。幸運的是,隨...

          亞馬遜echo0-com1、重新打開“ai”該軟件,將圖文拖入到該軟件里。2、將所有圖片無限擴大會覺得圖文有些虛化背景,選擇“圖像內容描繪出”下拉選項中的“低信噪比照片”。3、稍等片刻,進入頁面“快速擴展”兩個選項。4、這時所有圖片已經變為矢量軟件,清晰度很明顯,選項卡去選擇圖形后,可以看到去選擇的基本圖形都是由添加錨點工具將組。5、鼠標右鍵點擊圖片素材,在下拉列表中可以選擇“從明年起配屬”。6、...

          北京青年是哪年開播的?《北京青年》是由北京新寶源影視投資有限公司、北京完美影視傳媒有限公司出品,趙寶剛、王贏執導,李晨、馬謖、杜淳、克勞迪婭、姚笛主演的電視劇,于2012年8月首播。北京青年導演?《北京青年》是由北京新寶源影視投資有限公司、北京完美影視傳媒有限公司聯合出品,趙寶剛、王贏執導,李晨、馬謖、杜淳、克勞迪婭、姚笛、任忠、何剛、張莉等主演的都市情感劇。該劇講述了四個北京年輕人為了各自的理想...

          網上聊天別人總說sky到底是什么意思?網上?女孩子一開始都很害羞,只要你能感動她,她就會喜歡你的。我建議你在車站見她。女孩們還是喜歡口是心非。她的反應可能還沒有準備好墜入愛河。我不知道她在找什么樣的搭檔sky網絡電話怎么樣?Sky自2012年以來一直是Sky的忠實用戶。然而,15年來,人們的態度已經從期待到失望再到絕望?;ヂ摼W電話過去工作良好,它是第一個提供電力顯示功能。一開始我喜歡?,F在越來越難...

          TOP
          国产初高中生视频在线观看|亚洲一区中文|久久亚洲欧美国产精品|黄色网站入口免费进人
          1. <nobr id="easjo"><address id="easjo"></address></nobr>

              <track id="easjo"><source id="easjo"></source></track>
              1. 
                

              2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
              3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>