關於excel_io.jar excel匯入匯出工具的使用說明
阿新 • • 發佈:2018-12-19
目錄
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
- 在需要和excel 文件欄位對應的javabean 屬性上使用註解 @ExcelProperty(zh="",sequence=0);
- @ExcelProperty註解有三個屬性分別是zh 表示excel中對應欄位的中文名(必填),sequence 表示在cexcel中的順序,從0開始,如果不設定,所有欄位預設為0。requisite 設定是否必須有值,該屬性在工具中暫時未用到,請關注後續更新。
-
excel文件 到 JavaBean 的使用
- 建立Excel類物件,Excel類提供了兩個構造器分別是Excel(Class<T> clasz)、Excel(Class<T> clasz,String sheetName)
- Excel(Class<T> clasz)傳入和excel文件應的JavaBean,但是excel的sheet表必須是第一個。否則匯入失敗。
- Excel(Class<T> clasz,String sheetName) 和前一個構造器的區別是傳入一個sheet表的名字。
- 呼叫readExcel(InputStream fis)方法,返回一個List<T> 物件;
-
JavaBean 到 excel文件的使用
- 和前面一樣,建立Excel類物件,不再累述。
- 呼叫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);
}