1. 程式人生 > >關於excel_io.jar excel匯入匯出工具的使用說明

關於excel_io.jar excel匯入匯出工具的使用說明

目錄

excel_io.jar 工具是依賴於poi和poi-ooxml兩個apached的jar包 進行的開發的,分別依賴3.14 和3.17兩個版本,請下載的使用者注意如果名字為excel_io-poi3.14.jar na依賴的就是poi 的3.14版本了。如果名為 excel_io-poi3.17.jar,那麼就是依賴的 poi 的3.17版本了。

Maven 引入程式碼

POI 3.14 的引入

<dependency>
      <groupId>org.apache.poi</groupId>
      <artifactId>poi</artifactId>
      <version>3.14</version>
  </dependency>
  <dependency>
      <groupId>org.apache.poi</groupId>
      <artifactId>poi-ooxml</artifactId>
      <version>3.14</version>
  </dependency>

POI 3.17 的引入

  <dependency>
      <groupId>org.apache.poi</groupId>
      <artifactId>poi</artifactId>
      <version>3.17</version>
  </dependency>
  <dependency>
      <groupId>org.apache.poi</groupId>
      <artifactId>poi-ooxml</artifactId>
      <version>3.17</version>
  </dependency>

excel_io.jar 使用介紹

  • 設定JavaBean

  1. 在需要和excel 文件欄位對應的javabean 屬性上使用註解 @ExcelProperty(zh="",sequence=0);
  2. @ExcelProperty註解有三個屬性分別是zh 表示excel中對應欄位的中文名(必填),sequence 表示在cexcel中的順序,從0開始,如果不設定,所有欄位預設為0。requisite 設定是否必須有值,該屬性在工具中暫時未用到,請關注後續更新。
  • excel文件 到 JavaBean 的使用

  1. 建立Excel類物件,Excel類提供了兩個構造器分別是Excel(Class<T> clasz)、Excel(Class<T> clasz,String sheetName)
  2. Excel(Class<T> clasz)傳入和excel文件應的JavaBean,但是excel的sheet表必須是第一個。否則匯入失敗。
  3. Excel(Class<T> clasz,String sheetName) 和前一個構造器的區別是傳入一個sheet表的名字。
  4. 呼叫readExcel(InputStream fis)方法,返回一個List<T> 物件;
  • JavaBean 到 excel文件的使用

  1. 和前面一樣,建立Excel類物件,不再累述。
  2. 呼叫createExcel(List<T> objs),引數未裝有資料的JavaBean物件的集合物件。返回一個 Workbook 物件,直接呼叫Workbook物件的write(OutputStream stream) 生成excel文件。

JavaBean的設定

@ExcelProperty(zh="生日",sequence=3)
 private Date birthday;
 @ExcelProperty(zh="姓名",sequence=0)
 private String name;
 @ExcelProperty(zh="手機號碼",sequence=2)
 private String phoneNum;
 @ExcelProperty(zh="年齡",sequence=1)
 private int age;


setter\getter……

JavaBean轉換為Excel文件 紅色部分為關鍵程式碼

  File file = new File("F:/poi/test/type.xlsx");
  FileOutputStream fos = new FileOutputStream(file);
  Excel<People> excel = new Excel<>(People.class);
  List<People> peoples = new ArrayList<People>();
  for(int i=0;i<10;i++) {
       People p =new People();
       p.setName("Mac"+i);
       p.setAge(20+i);
       p.setPhoneNum("1366111111"+i);
       try {
            p.setBirthday(new SimpleDateFormat("yyyy/MM/dd").parse("2018/10/31"));
       } catch (ParseException e) {
            e.printStackTrace();
       }
       peoples.add(p);
  }
  Workbook workbook =excel.createExcel(peoples);
  workbook.write(fos);

下面程式碼為匯入部分即excel轉換為JavaBean物件  紅色部分為關鍵程式碼  

 File file = new File("F:/poi/test/type.xlsx");
 Excel<People> excel = new Excel<>(People.class);
 InputStream fis = new FileInputStream(file);
 List<People> peoples = excel.readExcel(fis);
 for(People p:peoples) {
       System.out.println(p);
 }