我们要求在java中读取巨大的excel文件。我更喜欢Spring Batch,因为我们已经在项目中使用了Spring。但是,我们有一个瓶颈,这个excel文件可以有不同的列,用户可以更改列的顺序。因此,我们必须确定哪个列具有第一行/标题中的哪些数据。
示例: -
User 1 :
Name EmployeeId
Raj 1
Peter 2
User 2 :-
EmployeeId Name
5 Steven
6 Antony
但是在Spring Batch中,我们需要在配置作业时告诉列顺序。 一种方法是我将打开文件并读取第一行并配置Spring批处理,但效率不高。 应该有一些内置的方式,但是我无法找到它。
答案 0 :(得分:2)
Spring Batch Excel扩展程序:https://github.com/mdeinum/spring-batch-extensions/tree/master/spring-batch-excel有一个符合您需求的RowNumberColumnNameExtractor
即。它将第0行作为列行读取,然后可以与BeanWrapperRowMapper一起使用以映射到java对象