日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

原文出自:公眾號 冰河技術 原文鏈接:https://mp.weixin.qq.com/s/nNKh4lQOZGRylGhxi7uC4g

 

不管是傳統軟件企業還是互聯網企業,不管是管理軟件還是面向C端的互聯網應用。都不可避免的會涉及到報表操作,而對于報表業務來說,一個很重要的功能就是將數據導出到Excel。

如果我們在業務代碼中,嵌入很多導出Excel的邏輯,那我們的代碼就會變得異常臃腫,不利于維護,而且導出Excel的核心邏輯基本相同。那我們能否將導出Excel的核心邏輯封裝成一個工具,當我們需要導出Excel時,只是向工具簡單的傳入數據呢?于是乎,mykit-excel誕生了!

 

mykit-excel的github鏈接地址為: https://github.com/sunshinelyz/mykit-excel

 

歡迎各位小伙伴Star和Fork源碼,也歡迎大家pr你牛逼哄哄的代碼,我們一起來養肥它!

如果文章對你有點幫助,小伙伴們點贊、收藏、評論和分享,走起呀~~

框架簡述

mykit-excel插件是通用的Excel導入導出框架,旨在提供通用的Excel導入導出功能,支持以注解方式選擇JAVABean中的部分字段導出,并提供注解指定Excel列標題和排序功能。

框架結構

  • mykit-excel-annotation: mykit-excel框架的注解模塊,提供注解標識類中的哪些字段需要導出到Excel
  • mykit-excel-common: mykit-excel框架的通用工具類,提供通用的工具模板
  • mykit-excel-servlet: mykit-excel框架提供的Web模塊,能夠支持Web請求導出Excel
  • mykit-excel-springmvc: mykit-excel框架提供的SpringMVC模塊,能夠支持Web請求導出Excel
  • mykit-excel-test: mykit-excel框架提供的常規測試模塊
  • mykit-excel-springboot: mykit-excel框架提供的SpringBoot測試模塊
測試用例

 

(1)測試常規導出Excel工具類的Java類為:io.mykit.excel.springboot.normal.export.TestExportExcelUtils,直接運行該類即可。

(2)測試注解導出Excel工具類的Java類為:io.mykit.excel.springboot.annotation.export.TestAnnotationExportExcelUtils,直接運行該類即可。

(3)測試SpringMVC導出Excel的Java類為io.mykit.excel.springboot.normal.springmvc.NormalExportExcelContorller,運行SpringBoot的啟動類io.mykit.excel.springboot.MykitExcelCoreApplication之后,使用resources/html目錄下的normalExportExcel.html文件導出Excel即可。如果設置的IP和端口與mykit-excel-springboot模塊不同,則修改normalExportExcel.html文件中的IP和端口即可。

(4)測試基于注解導出Java類為io.mykit.excel.springboot.annotation.springmvc.AnnotationExportExcelController,運行SpringBoot的啟動類io.mykit.excel.springboot.MykitExcelCoreApplication 之后,使用resources/html目錄下的annotationExportExcel.html文件導出Excel即可。如果設置的IP和端口與mykit-excel-springboot模塊不同,則修改annotationExportExcel.html文件中的IP和端口即可。

注解說明

如果使用注解方式導出Excel,則需要在JavaBean的屬性字段上添加@ExcelColumn注解,此注解中有三個屬性,分別如下:

 

  • isExport:表示是否將當前字段導出到Excel,true:是;false:否
  • title:導出到Excel時的當前列的標題;
  • sort:當前字段導出到Excel的列時,在Excel中的位置,值越小,當前列越靠前。
使用方式 普通方式導出Excel

 

如果是普通的Java項目,只是將Excel文件導出到本地磁盤,則只需要在項目的pom.xml文件中增加如下配置

io.mykit.excel mykit-excel-common 1.0.0-SNAPSHOT

創建測試JavaBean

@Datapublic class Student implements Serializable { private static final long serialVersionUID = -2987207599880734028L; private int id; private String name; private String sex; public Student(){ } public Student(int id, String name, String sex){ this.id = id; this.name = name; this.sex = sex; }}

接下來,在程序中按照如下方式導出Excel文件即可

public static void main(String[] args) throws Exception{ ExportExcelUtils utils = new ExportExcelUtils(); List list = new ArrayList(); for (int i = 0; i < 10; i++) { list.add(new Student(111,"張三","男")); list.add(new Student(111,"李四","男")); list.add(new Student(111,"王五","女")); } String[] columnNames = { "ID", "姓名", "性別" }; utils.exportExcel("用戶導出", columnNames, list, new FileOutputStream("E:/test.xls"), ExportExcelUtils.EXCEL_FILE_2003);}

導出的文件如下所示


 

注解方式導出Excel

如果是普通的Java項目,以注解方式將Excel文件導出到本地磁盤,則只需要在項目的pom.xml文件中增加如下配置

io.mykit.excel mykit-excel-common 1.0.0-SNAPSHOT

創建測試JavaBean

(1) 創建父類JavaBean

@Datapublic class Person implements Serializable { private static final long serialVersionUID = 3251965335162340137L; @ExcelColumn(isExport = true, title = "編號", sort = 2) private String id ; @ExcelColumn(isExport = true, title = "姓名", sort = 3) private String name; public Person(){ } public Person(String id, String name){ this.id = id; this.name = name; }}

(2) 創建子類JavaBean

@Datapublic class Student extends Person{ private static final long serialVersionUID = -6180523202831503132L; @ExcelColumn(isExport = false, title = "班級編號", sort = 1) private String classNo; private Integer score; @ExcelColumn(isExport = true, title = "愛好", sort = 5) private String hobby; public Student(){ } public Student(String id, String name, String classNo, Integer score, String hobby){ super(id, name); this.classNo = classNo; this.score = score; this.hobby = hobby; }}

接下來,在程序中按照如下方式導出Excel文件即可

public class TestAnnotationExportExcelUtils { public static void main(String[] args) throws FileNotFoundException { // 準備數據 List list = new ArrayList(); for (int i = 1; i <= 10; i++) { list.add(new Student("00" + i, "張三", "001", 100, "籃球")); } AnnotationExcelExportUtils utils = new AnnotationExcelExportUtils(); utils.exportExcel("用戶導出", list, new FileOutputStream("e:/E:/test.xls"), Student.class, AnnotationExcelExportUtils.EXCEL_FILE_2003); }}

導出的文件如下所示


 

Web方式導出Excel

如果是基于Java Web或Spring MVC項目,需要導出Excel,則需要在項目的pom.xml文件中,加入如下配置

io.mykit.excel mykit-excel-servlet 1.0.0-SNAPSHOT

創建測試JavaBean

@Datapublic class Student implements Serializable { private static final long serialVersionUID = -2987207599880734028L; private int id; private String name; private String sex; public Student(){ } public Student(int id, String name, String sex){ this.id = id; this.name = name; this.sex = sex; }}

接下來,在程序中按照如下方式導出Excel文件即可

@RequestMapping("/excel")public void getExcel(HttpServletRequest request, HttpServletResponse response) throws Exception { // 準備數據 List list = new ArrayList(); for (int i = 0; i < 10; i++) { list.add(new Student(111,"張三","男")); list.add(new Student(111,"李四","男")); list.add(new Student(111,"王五","女")); } String[] columnNames = { "ID", "姓名", " 性別"}; String fileName = "springboot_excel"; ExportExcelWrapper util = new ExportExcelWrapper(); util.exportExcel(fileName, fileName, columnNames, list, response, ExportExcelUtils.EXCEL_FILE_2003);}

導出的文件如下所示


 

基于注解的Web方式導出Excel

如果是基于Java Web或Spring MVC項目,需要基于注解導出Excel,則需要在項目的pom.xml文件中,加入如下配置

io.mykit.excel mykit-excel-servlet 1.0.0-SNAPSHOT

創建測試JavaBean

(1) 創建父類JavaBean

@Datapublic class Person implements Serializable { private static final long serialVersionUID = 3251965335162340137L; @ExcelColumn(isExport = true, title = "編號", sort = 2) private String id ; @ExcelColumn(isExport = true, title = "姓名", sort = 3) private String name; public Person(){ } public Person(String id, String name){ this.id = id; this.name = name; }}

(2) 創建子類JavaBean

@Datapublic class Student extends Person{ private static final long serialVersionUID = -6180523202831503132L; @ExcelColumn(isExport = false, title = "班級編號", sort = 1) private String classNo; private Integer score; @ExcelColumn(isExport = true, title = "愛好", sort = 5) private String hobby; public Student(){ } public Student(String id, String name, String classNo, Integer score, String hobby){ super(id, name); this.classNo = classNo; this.score = score; this.hobby = hobby; }}

接下來,在程序中按照如下方式導出Excel文件即可

@Controller@RequestMapping(value = "/annotation/export")public class AnnotationExportExcelController { @RequestMapping("/excel") public void getExcel(HttpServletRequest request, HttpServletResponse response) throws Exception { // 準備數據 List list = new ArrayList(); for (int i = 1; i <= 10; i++) { list.add(new Student("00" + i, "張三", "001", 100, "籃球")); } String fileName = "springboot_excel"; ExportExcelWrapper wrapper = new ExportExcelWrapper(); wrapper.annotationExportExcel(fileName, fileName, list, Student.class, response, ExportExcelWrapper.EXCEL_FILE_2003); }}

導出的文件如下所示


 

前端測試代碼

前端測試代碼放在mykit-excel-springboot模塊的src/main/resources/html目錄下,修改html文件中的連接地址后,將其放在Tomcat或其他Web容器中,進行測試即可。

測試方式 常規測試

直接運行mykit-excel-springboot項目中的io.mykit.excel.springboot.normal.export.TestExportExcelUtils類即可

基于注解的常規測試

直接運行mykit-excel-springboot項目中的io.mykit.excel.springboot.annotation.export.TestAnnotationExportExcelUtils類即可

Web測試

(1)啟動mykit-excel-springboot項目,即運行mykit-excel-springboot項目中的io.mykit.excel.springboot.MykitExcelCoreApplication類

(2)將mykit-excel-springboot項目的src/main/resources/html下的normalExportExcel.html文件發布到Tomcat等Web容器中訪問normalExportExcel.html文件的連接地址, 打開頁面點擊“Submit”按鈕即可。

基于注解的Web測試

(1)啟動mykit-excel-springboot項目,即運行mykit-excel-springboot項目中的io.mykit.excel.springboot.MykitExcelCoreApplication類。

(2)將mykit-excel-springboot項目的src/main/resources/html下的annotationExportExcel.html文件發布到Tomcat等Web容器中訪問annotationExportExcel.html文件的連接地址, 打開頁面點擊“Submit”按鈕即可。

分享到:
標簽:框架 Excel
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定