Java Excel 讀寫庫 - JxlExcel
JxlExcel 是基于jxl封裝的java excel讀寫庫,特性如下:
-
可以像讀寫文件一樣方便的讀取數據和寫入數據
-
數據支持數組、map、bean三種方式
-
支持xml配置excel模板
如何使用?
模板定義
在類路徑下新建一個jxl-excel.xml的模板配置文件,輸入如下的配置文件內容,即可定義一個excel模板。
<?xml version="1.0" encoding="UTF-8" ?> <templates> <template name="testRead"> <titleRow> <titleCol span="6">span標題</titleCol> </titleRow> <titleRow> <titleCol>編制單位(蓋章):</titleCol> <titleCol></titleCol> <titleCol span="3">編制日期:</titleCol> <titleCol>單位:元</titleCol> </titleRow> <titleRow> <titleCol>地區</titleCol> <titleCol>姓名</titleCol> <titleCol>身份證</titleCol> <titleCol>賬號</titleCol> <titleCol>金額</titleCol> <titleCol>備注</titleCol> </titleRow> <dataRow> <dataCol>area</dataCol> <dataCol>name</dataCol> <dataCol>idCard</dataCol> <dataCol>bankAccount</dataCol> <dataCol>amount</dataCol> <dataCol>remark</dataCol> </dataRow> </template> </templates>
-
模板(template)
template元素用于定義一個模板,包含一個屬性name,用于唯一標識該模板
-
標題行(tittleRow)
使用titleRow可以定義多行標題,每行標題又包含多個標題列(titleCol),標題列可以像html table的td一樣定義span屬性,表示該列占用幾列空間
-
數據行(dataRow)
數據行用于定義Java bean或者Map中的屬性在模板中的顯示或讀寫順序,數據行中的dataCol不支持span
讀數據
InputStream is = JxlExcelReaderTest.class .getResourceAsStream("/testRead.xls"); reader.setExcelTemplate("testRead"); List<String[]> datas = reader.readArrays(); //List<Account> beans = reader.readBeans(Account.class); //List<Map<String, Object>> maps = reader.readMaps();
寫數據
File tmp = new File("testWriteData.xls"); if (tmp.exists()) { tmp.delete(); } tmp.createNewFile(); JxlExcelWriter jxlExcelWriter = new JxlExcelWriter(tmp); jxlExcelWriter.setExcelTemplate("testRead"); List<String[]> accounts = new ArrayList<String[]>(); //省略測試數據生成...根據不同需要生成不同類型的數據 jxlExcelWriter.writeArrays(accounts); //jxlExcelWriter.writeBeans(accounts); //jxlExcelWriter.writeMaps(accounts);
生成excel模板
File tmp = new File("testWriteTemplate.xls"); if (tmp.exists()) { tmp.delete(); } tmp.createNewFile(); JxlExcelWriter jxlExcelWriter = new JxlExcelWriter(tmp); jxlExcelWriter.setExcelTemplate("testRead"); jxlExcelWriter.writeTemplate();
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!