##### 2.3.4 Excel導入介紹
有導出就有導入,基于注解的導入導出,配置配置上是一樣的,只是方式反過來而已,比如類型的替換 導出的時候是1替換成男,2替換成女,導入的時候則反過來,男變成1 ,女變成2,時間也是類似 導出的時候date被格式化成 2017-8-25 ,導入的時候2017-8-25被格式成date類型 下面說下導入的基本代碼,注解啥的都是上面講過了,這里就不累贅了
~~~
@Test
public void test2() {
ImportParams params = new ImportParams();
params.setTitleRows(1);
params.setHeadRows(1);
long start = new Date().getTime();
List<MsgClient> list = ExcelImportUtil.importExcel(
new File(PoiPublicUtil.getWebRootPath("import/ExcelExportMsgClient.xlsx")),
MsgClient.class, params);
System.out.println(new Date().getTime() - start);
System.out.println(list.size());
System.out.println(ReflectionToStringBuilder.toString(list.get(0)));
}
~~~
基本是寫法也很簡單,ImportParams 參數介紹下
| 屬性 | 類型 | 默認值 | 功能 |
| --- | --- | --- | --- |
| titleRows| int | 0| 表格標題行數,默認0|
| headRows | int| 1 | 表頭行數,默認1|
| startRows| int| 0|字段真正值和列標題之間的距離 默認0|
| ***keyIndex***| int| 0 | ***主鍵設置,如何這個cell沒有值,就跳過 或者認為這個是list的下面的值*** 這一列必須有值,不然認為這列為無效數 |
| startSheetIndex| int | 0| 開始讀取的sheet位置,默認為0|
| sheetNum| int| 1| 上傳表格需要讀取的sheet 數量,默認為1|
| needSave| boolean| false| 是否需要保存上傳的Excel|
| needVerfiy| boolean| false| 是否需要校驗上傳的Excel |
| saveUrl | String| "upload/excelUpload"| 保存上傳的Excel目錄,默認是 如 TestEntity這個類保存路徑就是 upload/excelUpload/Test/yyyyMMddHHmss***\*** 保存名稱上傳時間*五位隨機數 |
| verifyHanlder| IExcelVerifyHandler| null| 校驗處理接口,自定義校驗 |
| lastOfInvalidRow | int| 0 | 最后的無效行數,不讀的行數 |
| readRows | int| 0| 手動控制讀取的行數|
| importFields| String\[\]| null | 導入時校驗數據模板,是不是正確的Excel|
| keyMark | String| ":"| Key-Value 讀取標記,以這個為Key,后面一個Cell 為Value,多個改為ArrayList|
| readSingleCell | boolean | false| 按照Key-Value 規則讀取全局掃描Excel,但是跳過List讀取范圍提升性能 僅僅支持titleRows + headRows + startRows 以及 lastOfInvalidRow|
| dataHanlder | IExcelDataHandler| null| 數據處理接口,以此為主,replace,format都在這后面
- 1.前傳
- 1.1前言
- 1.2 Autopoi 介紹
- 1.3 使用
- 1.4 測試項目
- 1.5 快速文檔
- 1.6 示例
- 1.6.1 單表數據導出多表頭示例
- 單表數據多表頭導入注意bak
- 1.6.2 單表數據導出多sheet示例
- 1.6.3 excel根據模板導出
- 1.6.4 一對多導出needMerge示例
- 1.6.5 大數據導出示例
- 1.7 導出自定義選擇列導出
- 2. Excel 注解版
- 2.0 @excel注解的使用
- 2.1 Excel導入導出
- 2.2 注解
- 2.3 注解導出,導入
- 2.3.1 對象定義
- 2.3.2 集合定義
- 2.3.3 圖片的導出
- 2.3.4 Excel導入介紹
- 2.3.5 Excel導入小功能
- 2.3.6 圖片的導入
- 2.3.7 Excel多Sheet導出
- 2.4 注解變種-更自由的導出
- 2.5 Map導入,自由發揮
- 2.6 Excel的樣式自定義
- 2.7 如何自定義數據處理
- 2.8 Excel導入校驗(暫不支持)
- 2.9 Excel 大批量讀取
- 2.10 Excel大數據導出
- 2.11 groupname和ExcelEntity的name屬性
- 3. Excel 模板版
- 3.1 模板 指令介紹
- 3.2 基本導出
- 3.3 模板當中使用注解
- 3.4 圖片導出
- 3.5 橫向遍歷
- 4. Excel<->Html
- 4.1 Excel 的Html預覽
- 4.2 html轉Excel更神奇的導出
- 5. Word
- 5.1 word模板導出
- 6. PDF
- 7. Spring MVC
- 7.1 View 介紹
- 7.2 大數據導出View的用法
- 7.3 注解導出View用法
- 7.4 注解變種Map類型的導出View
- 7.5Excel模板導出View
- 7.6 PoiBaseView.render view的補救
- 8.問題歸檔
- 9.大數據量處理
- 10.autopoi升級4.0版本修改記錄