1. 程式人生 > >通用的POI匯入Excel解決方案

通用的POI匯入Excel解決方案

(2)<repeatImport/>表示需要迴圈匯入的資料,欄位field與單元格cellRef的對映關係寫在CDATA區中。<endCode/>表示迴圈終止的字元。

下面說一下,根據這個XML描述檔案,我們需要從Excel中解析出什麼樣的資料格式來:

/**

* 讀取匯入的Excel的內容

* 模板要求:

* 1)開始重複行與End 有且只能有 一空行

*/

public class ExcelImportUtil

{

/**

* 讀取匯入的Excel的檔案內容

* @param xmlFile描述被匯入的Excel的格式的XML檔案

* @param importExcelStream

被匯入的XML檔案

* @returnExcel中需要匯入的資料

*/

public static ExcelData readExcel(String xmlFile, InputStream importExcelStream) throws ExcelImportException

    {}

}

/**

* Excel匯入的資訊

*/

import java.util.List;

import java.util.Map;

public class ExcelData

{

// 一次匯入的資料,key就是field,一個ImportCellDesc描述了一個單元格(field,value,

單元格名稱)

private Map<String, ImportCellDesc> onceData;

// 重複匯入的資料

private List<Map<String, ImportCellDesc>> repeatData;

// setter/getter

}

/**

* 單元格的描述資訊

* 1)資料格式校驗時,可以精確定位到某個單元格。

*/

public class ImportCellDesc

{

/**

* 引用的單元格;如:A3

*/

private String cellRef;

/**

* 單元格的對應資料庫的欄位名稱;

* 如:fieldName

 = "username"

*/

private String fieldName;

/**

* 欄位值,如:張三

*/

private String fieldValue;

// setter/getter

}