使用easypoi 將數據庫數據導出 以及將Excel表格數據導入數據庫 第五版

先說導出
java代碼

@SpringBootTest(classes = {ShujiegouApplication.class})
@RunWith(SpringJUnit4ClassRunner.class)
public class EasyPoiExportTest {

    @Autowired
    private SysColumnService sysColumnService;

    @Test
    public void test() throws Exception{
        List<SysColumn> sysColumnAll = sysColumnService.getSysColumnAll();
        //標題  表名  導出類型  HSSF xls  XSSF xlsx
        ExportParams exportParams = new ExportParams("欄目表","column", ExcelType.XSSF);
        //1.導出參數對象 1.普通Java類的類對象(要導出的實體類的類對象) 3.一個集合 查詢全部的用戶信息
        Workbook workbook = ExcelExportUtil.exportExcel(exportParams, SysColumn.class,sysColumnAll);
        workbook.write(new FileOutputStream(new File("E://easypoi.xlsx")));
    }
}

實體類代碼

@Data
@AllArgsConstructor
@NoArgsConstructor
@Table(name = "sys_column")
public class SysColumn {

    @Id
    @Excel(name = "主鍵")
    private Integer id;
    @Excel(name = "列名")
    private String columnName;
    @Excel(name = "父id")
    private Integer parentId;
    @ExcelIgnore    //忽略字段(屬性)
    private Integer columnRank;
    @Excel(name = "跳轉頁面")
    private String enName;

}

效果圖
在這裏插入圖片描述
期間出現了一個異常
java.lang.IllegalArgumentException: lastRow < firstRow || lastCol < firstCol
原因是實體類上我沒有加入 Easypoi的相關注解(例如 @Excel等等),加上即可。

再說導入
java代碼

 @Test
    public void test1(){
        //創建導入參數對象
        ImportParams importParams = new ImportParams();
        //設置標題佔行數
        importParams.setTitleRows(1);
        //設置表頭佔行數
        importParams.setHeadRows(1);

        //參數:1,讀取文件  2,對應的實體類 3,導入參數對象
        List<SysColumn> sysColumns = ExcelImportUtil.importExcel(new File("E://easypoi.xlsx"), SysColumn.class, importParams);

        for (SysColumn sysColumn:sysColumns) {
            System.out.println(sysColumn);
        }
    }

控制檯輸出來的結果
在這裏插入圖片描述
既然我們已經獲取到了數據,接下來我們只要往數據庫添加數據即可。

相較於之前寫的poi是不是簡單了很多呢?哈哈

這輩子堅持與不堅持都不可怕,怕的是獨自走在堅持的道路上!

歡迎加入技術羣聊!

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章