2014-10-01 63 views
0

我正在尝试执行以下操作,但是我正努力应付最佳方法,任何人都可以将我指向正确的方向?在列索引未知时将XLS映射到对象(Apache POI)

我有一个Java程序与一个简单的POJO(让我们说5个属性),代表一个人,我想从多个源系统的出口转换成,存储在我自己的数据库表。

public class Person 

String salutation; 
String first_name; 
String last_name; 
String email; 

这些源可与不被POJO需要额外的信息输出其数据(即比我已经定义了4个属性的更多)。因此,XLS看起来是这样的......

firstname  secondname  address1  address2  fax  phone  email 
John   Smith   My Street     873637 2323829 [email protected] 

我的想法是用POI(XSSFWorkbook),并找到在标题行中的字符串(名字等) - 然后,使用指定映射的XML文件( firstname = first_name),将列索引存储在Map中的POJO属性(列heaer)中,然后根据属性/头名称/列索引和POJO属性的映射循环遍历每行创建一个对象。

任何人都可以建议,如果这是在正确的道路上?

+0

这听起来像[jXLS Reader](http://jxls.sourceforge.net/reference/reader.html)。 – rgettman 2014-10-01 18:29:23

+0

干杯,最终用自定义实现,使用SAX解析字段名称/列映射的配置文件,然后POI创建POJO。 - 类似于jXLS的Vvery – 2014-10-07 09:35:14

回答

-2

尝试this项目,使用meta(Meta.java)info将excel数据转换为pojo。您可以运行TestConvert.java以查看操作。