JxlExcel是基于jxl封装的javaexcel读写库,特性如下:
可以像读写文件一样方便的读取数据和写入数据
数据支持数组、map、bea三种方式
支持xml配置excel模板
如何使用?模板定义在类路径下新建一个jxl-excel.xml的模板配置文件,输入如下的配置文件内容,即可定义一个excel模板。
<?xml versio="1.0" ecodig="UTF-8" ?><templates><template ame="testRead"> <titleRow> <titleCol spa="6">spa标题</titleCol> </titleRow> <titleRow> <titleCol>编制单位(盖章):</titleCol> <titleCol></titleCol> <titleCol spa="3">编制日期:</titleCol> <titleCol>单位:元</titleCol> </titleRow> <titleRow> <titleCol>地区</titleCol> <titleCol>姓名</titleCol> <titleCol>身份证</titleCol> <titleCol>账号</titleCol> <titleCol>金额</titleCol> <titleCol>备注</titleCol> </titleRow> <dataRow> <dataCol>area</dataCol> <dataCol>ame</dataCol> <dataCol>idCard</dataCol> <dataCol>bakAccout</dataCol> <dataCol>amout</dataCol> <dataCol>remark</dataCol> </dataRow></template></templates>模板(template)
template元素用于定义一个模板,包含一个属性ame,用于唯一标识该模板
标题行(tittleRow)
使用titleRow可以定义多行标题,每行标题又包含多个标题列(titleCol),标题列可以像htmltable的td一样定义spa属性,表示该列占用几列空间
数据行(dataRow)
数据行用于定义Javabea或者Map中的属性在模板中的显示或读写顺序,数据行中的dataCol不支持spa
读数据IputStream is = JxlExcelReaderTest.class .getResourceAsStream("/testRead.xls");reader.setExcelTemplate("testRead");List<Strig[]> datas = reader.readArrays();//List<Accout> beas = reader.readBeas(Accout.class);//List<Map<Strig, Object>> maps = reader.readMaps();写数据File tmp = ew File("testWriteData.xls");if (tmp.exists()) {tmp.delete();}tmp.createNewFile();JxlExcelWriter jxlExcelWriter = ew JxlExcelWriter(tmp);jxlExcelWriter.setExcelTemplate("testRead");List<Strig[]> accouts = ew ArrayList<Strig[]>();//省略测试数据生成...根据不同需要生成不同类型的数据jxlExcelWriter.writeArrays(accouts);//jxlExcelWriter.writeBeas(accouts);//jxlExcelWriter.writeMaps(accouts);生成excel模板File tmp = ew File("testWriteTemplate.xls");if (tmp.exists()) {tmp.delete();}tmp.createNewFile();JxlExcelWriter jxlExcelWriter = ew JxlExcelWriter(tmp);jxlExcelWriter.setExcelTemplate("testRead");jxlExcelWriter.writeTemplate();
评论