SpringBoot整合EasyPOI實現(xiàn)Excel、Word的導入導出功能

一、EsayPOI的介紹

easypoi 功能如同名字easy,主打的功能就是容易。讓一個沒見接觸過poi的人員就可以方便的寫出Excel導出,Excel導出,Excel導入,Word模板導出,通過簡單的注解和模板語言(熟悉的表達式語法),完成以前復雜的寫法


二、EsayPOI引入依賴并配置

1.引入依賴

      <!--引入EasyPOI-->
      <dependency>
            <groupId>cn.afterturn</groupId>
            <artifactId>easypoi-base</artifactId>
            <version>3.0.3</version>
        </dependency>
        <dependency>
            <groupId>cn.afterturn</groupId>
            <artifactId>easypoi-web</artifactId>
            <version>3.0.3</version>
        </dependency>
        <dependency>
            <groupId>cn.afterturn</groupId>
            <artifactId>easypoi-annotation</artifactId>
            <version>3.0.3</version>
        </dependency>

2.引入依賴

  • @Excel 作用到filed上面,是對Excel一列的一個描述
  • @ExcelCollection 表示一個集合,主要針對一對多的導出,比如一個老師對應(yīng)多個科目,科目就可以用集合表示
  • @ExcelEntity 表示一個繼續(xù)深入導出的實體,但他沒有太多的實際意義,只是告訴系統(tǒng)這個對象里面同樣有導出的字段
  • @ExcelIgnore 和名字一樣表示這個字段被忽略跳過這個導導出
  • @ExcelTarget 這個是作用于最外層的對象,描述這個對象的id,以便支持一個對象可以針對不同導出做出不同處理
 public class StudentEntity implements java.io.Serializable {
    /** id*/
    private String id;
    /** 學生姓名*/
    @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;
 }

樣例如下所示:


導出的表格

3.導出的Java代碼

FileOutputStream fos = null;
try (Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams("2412312", "測試", "測試"), Area.class, list)) {
    fos = new FileOutputStream("G:/ExcelExportHasImgTest.exportCompanyImg.xls");
    workbook.write(fos);
}catch (IOException e){
    e.printStackTrace();
}finally {
    fos.close();
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容