这篇文章展示了如何使用jXLS将Excel文件解析为JavaBeans列表。

这是我编写的通用实用程序方法:

/**
* Parses an excel file into a list of beans.
*
* @param <T> the type of the bean
* @param xlsFile the excel data file to parse
* @param jxlsConfigFile the jxls config file describing how to map rows to beans
* @return the list of beans or an empty list there are none
* @throws Exception if there is a problem parsing the file
*/
public static <T> List<T> parseExcelFileToBeans(final File xlsFile,final File jxlsConfigFile)throws Exception {final XLSReader xlsReader = ReaderBuilder.buildFromXML(jxlsConfigFile);final List<T> result = new ArrayList<>();final Map<String, Object> beans = new HashMap<>();beans.put("result", result);try (InputStream inputStream = new BufferedInputStream(new FileInputStream(xlsFile))) {xlsReader.read(inputStream, beans);}return result;
}

例:

考虑以下包含人员信息的Excel文件:

名字 年龄
博客 25
约翰 母鹿 30

创建以下Person Bean,将每个Excel行绑定到:

package model;public class Person {private String firstName;private String lastName;private int age;public Person() {}public String getFirstName() {return firstName;}public void setFirstName(String firstName) {this.firstName = firstName;}public String getLastName() {return lastName;}public void setLastName(String lastName) {this.lastName = lastName;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}
}

创建一个jXLS配置文件,该文件告诉jXLS如何处理您的Excel文件并将行映射到Person对象:

<workbook><worksheet name="Sheet1"><section startRow="0" endRow="0" /><loop startRow="1" endRow="1" items="result" var="person" varType="model.Person"><section startRow="1" endRow="1"><mapping row="1" col="0">person.firstName</mapping><mapping row="1" col="1">person.lastName</mapping><mapping row="1" col="2">person.age</mapping></section><loopbreakcondition><rowcheck offset="0"><cellcheck offset="0" /></rowcheck></loopbreakcondition></loop></worksheet>
</workbook>

现在,您可以使用此单行代码将Excel文件解析为Person对象的列表:

List<Person> persons = Utils.parseExcelFileToBeans(new File("/path/to/personData.xls"),new File("/path/to/personConfig.xml"));

相关文章:

使用OpenCSV将CSV文件解析为JavaBeans

翻译自: https://www.javacodegeeks.com/2014/07/parsing-an-excel-file-into-javabeans-using-jxls.html

使用jXLS将Excel文件解析为JavaBeans相关推荐

  1. jxls使用excel公司_使用jXLS将Excel文件解析为JavaBeans

    jxls使用excel公司 这篇文章展示了如何使用jXLS将Excel文件解析为JavaBeans列表. 这是我编写的通用实用程序方法: /** * Parses an excel file into ...

  2. 在线Excel文件解析转换成JSON格式

    在线Excel文件解析转换成JSON格式 在线Excel文件解析转换成JSON格式 本工具可以将上传的Excel文件解析转换成JSON格式,支持下载 本工具可以将上传的Excel文件解析转换成JSON ...

  3. Excel文件解析性能对比(POI,easyexcel,xlsx-streamer)

    问题: 在解析excel内容时,由于用户误操作,偶尔会误录入大量空行,如果代码处置不当,进行文档内容解析时,就会占用大量时间和内存,甚至引起服务器内存消耗殆尽,导致服务无法访问,或者引起OOM. 解决 ...

  4. java中 Excel文件解析及超大Excel文件读写

    本文主要对Excel中数据的解析和生成进行总结 前言 在应用程序的开发过程中,我们经常要用到Excel进行数据的导入或导出.所以,在通过Java语言实现此类需求时,通常会对Excel文件进行解析或生成 ...

  5. jxls操作excel文件

    JXLS是基于Jakarta POI API的Excel报表生成工具,可以生成精美的Excel格式报表.它采用标签的方式,类似JSP标签,写一个Excel模板,然后生成报表,非常灵活,简单! JXLS ...

  6. java实现Excel文件解析---apache POI以及把汉字转化为拼音

    java实现Excel文件解析----apache  POI以及把汉字转化为拼音 1.POI简介 Apache POI是Apache软件基金会的开放源码函式库,POI提供给Java程序对Microso ...

  7. EXCEL通过配置导入规则,实现任意格式EXCEL文件解析

    EXCEL文件导入到数据库,是一种常见的文件导入格式. 本文实现的EXCEL文件解析方法,优点是适合任意格式的EXCEL文件,缺点是每一张表单都需要配置对应的导入规则,在字段数量多时,配置导入规则就尴 ...

  8. 浅谈Excel文件解析

    日常生活中,我们经常会遇到一些Excel文件,一般我们只会去用,不会去想他到底是怎样进行数据导入和导出的,今天,我们看看在java应用开发过程中,Excel文件的解析过程. 1. 使用-XSSF解析E ...

  9. Java进度条(excel文件解析)的实现

    文件上传页面 <!doctype html> <html> <head> <meta charset="utf-8"> <ti ...

最新文章

  1. TIOBE 新榜单:Python 超越 Java 重回第二,Rust 崛起
  2. java正则表达式判断手机号_正则表达式学习之简单手机号和邮箱练习
  3. 连数据都读不懂,你凭什么说会数据分析?
  4. python怎么分析数据结构_《利用Python进行数据分析》第五章-pandas的数据结构介绍...
  5. 【推荐】在R中无缝集成Github云端代码托管
  6. ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any()
  7. ThinkPHP 漏洞利用工具
  8. 如何做好一位合格qc_如何做好现场QC,一位老QC的经验分享
  9. 2017年总结和2018年计划
  10. 缓存问题(二) 布隆过滤器(Bloom Filter) 介绍和原理
  11. Learn Git Branching 答案汇总
  12. CommandNotFoundError: Your shell has not been properly configured to use ‘conda deactivate‘.
  13. 小米手机安全卸载内置应用
  14. 用python计算邮费考虑是否加急,用python计算residuals
  15. 已安装nvidia 显卡驱动时,cuda 安装
  16. 网络应用之JavaScript
  17. 道高一尺,魔高一丈之细菌耐药性
  18. 多多自走棋改动_多多自走棋版本前瞻 巫师上线后 羁绊改动集锦
  19. 刨根问底 HTTP 和 WebSocket 协议(上)
  20. yarn 命令学习:yarn application

热门文章

  1. 马踏棋盘算法(骑士周游)
  2. 小学计算机学情分析报告,小学信息技术_重点文字图说话教学设计学情分析教材分析课后反思...
  3. 复制vmware overLay网络无法ping通 ping www.baidu.com可以
  4. 三国志战略版360区S4服务器合并信息,三国志战略版pk赛季怎么转区?s4转区规则[多图]...
  5. 机器学习评价指标大汇总
  6. mysql error 1045 的解决方法
  7. Redis学习之缓存穿透、缓存击穿和缓存雪崩详解
  8. java程序连接kafka_Java的Kafka:构建安全,可扩展的消息传递应用程序
  9. lambda表达式优化反射_反射选择器表达式
  10. arrays.sort(._Arrays.hashCode(Object [])与Objects.hash(Object…)