<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                #### 2.4 注解變種-更自由的導出 這天老師又把路飛喊道的辦公室,要求路飛導出班級學生的整體信息 ~~~ @Excel(name = "學生姓名", height = 20, width = 30, isImportField = "true_st") private String name; @Excel(name = "學生性別", replace = { "男_1", "女_2" }, suffix = "生", isImportField = "true_st") private int sex; @Excel(name = "出生日期", databaseFormat = "yyyyMMddHHmmss", format = "yyyy-MM-dd", isImportField = "true_st", width = 20) private Date birthday; @Excel(name = "進校日期", databaseFormat = "yyyyMMddHHmmss", format = "yyyy-MM-dd") private Date registrationDate; ~~~ 路飛飛快的用到上面的學到的知識搞定了,這這時有一個老師把路飛叫去,說想要導出一個不要出生日期的Excel,感覺用戶需求很無奈,路飛又造兩個一個bean,把這個注解去掉了,來導出 ~~~ @Excel(name = "學生姓名", height = 20, width = 30, isImportField = "true_st") private String name; @Excel(name = "學生性別", replace = { "男_1", "女_2" }, suffix = "生", isImportField = "true_st") private int sex; @Excel(name = "進校日期", databaseFormat = "yyyyMMddHHmmss", format = "yyyy-MM-dd") private Date registrationDate; ~~~ 雖然解決了老師的需求,但這個并不是一個完美的解決方案,下面介紹一個更自由的解決方案 注解的導出,規定我們必須把model寫好,并且注解寫好,每次導出的Excel都是固定的,無法動態控制導出的列,雖然可以通過id來處理一個案例,但是自由度遠遠不夠,這里介紹個變種支持,基本支持注解所有的功能 基于List 的導出,ExcelExportEntity是注解經過處理翻譯成的實體類,兩者幾乎是一對的,所以如果我們要動態自定義導出列,我們只要動態拼裝ExcelExportEntity就可以了 下面我們看下這個類 ~~~ /** * 如果是MAP導出,這個是map的key */ private Object key; private double width = 10; private double height = 10; /** * 圖片的類型,1是文件,2是數據庫 */ private int exportImageType = 0; /** * 排序順序 */ private int orderNum = 0; /** * 是否支持換行 */ private boolean isWrap; /** * 是否需要合并 */ private boolean needMerge; /** * 單元格縱向合并 */ private boolean mergeVertical; /** * 合并依賴 */ private int[] mergeRely; /** * 后綴 */ private String suffix; /** * 統計 */ private boolean isStatistics; private String numFormat; private List<ExcelExportEntity> list; ~~~ 基本上是和注解對應的, **List list 這個是對應的一對多的導出,相當于集合,其他基本上都是和注解保持一致** 下面給出正常的demo ~~~ public void test() { try { List<ExcelExportEntity> entity = new ArrayList<ExcelExportEntity>(); //構造對象等同于@Excel ExcelExportEntity excelentity = new ExcelExportEntity("姓名", "name"); excelentity.setNeedMerge(true); entity.add(excelentity); entity.add(new ExcelExportEntity("性別", "sex")); excelentity = new ExcelExportEntity(null, "students"); List<ExcelExportEntity> temp = new ArrayList<ExcelExportEntity>(); temp.add(new ExcelExportEntity("姓名", "name")); temp.add(new ExcelExportEntity("性別", "sex")); //構造List等同于@ExcelCollection excelentity.setList(temp); entity.add(excelentity); List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(); //把我們構造好的bean對象放到params就可以了 Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams("測試", "測試"), entity, list); FileOutputStream fos = new FileOutputStream("D:/excel/ExcelExportForMap.tt.xls"); workbook.write(fos); fos.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } ~~~ 路飛想到了這個方案,并且用上面做了測試可以完美解決所以他把之前的代碼改為了(**代碼有刪減,基本上都是和注解對應的**) ~~~ List<ExcelExportEntity> beanList = new ArrayList<ExcelExportEntity>(); beanList .add(new ExcelExportEntity(new ExcelExportEntity("學生姓名", "name")); beanList .add(new ExcelExportEntity("學生性別", "sex")); beanList .add(new ExcelExportEntity("進校日期", "registrationDate")); if(needBirthday()){ beanList .add(new ExcelExportEntity("出生日期", "birthday")); } Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams("測試", "測試"), beanList ,list); ~~~ 用同一套代買完美了支持了老師的需求,心滿意足的回宿舍了^^
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看