有没有办法根据 Excel 表中可用的列自动生成动态 POJO?
示例:如果 Excel 工作表包含 10 列和 15 行,我想要一个具有 10 个字符串数组变量且数组大小应为 15 的 Pojo。
任何提示都会有所帮助。
您可以编写一个工具(例如 Maven 插件),它采用 Excel 工作表并从中生成代码。这样的工具不应该很复杂并且可能很有用。然而,实现这样的事情的常用方法是在 XSD 中指定数据结构并从中生成代码,例如使用JAXB。因此,IMO 您需要一个令人信服的论据来从 Excel 而不是 XSD 生成代码,以保证为其编写工具。
有一个为此特定目的而创建的插件。它需要一个 excel 表并从中创建 POJO。但是您必须以特定方式排列列才能使其正常工作。在你的 pom 中添加以下内容并将 excel 表放在资源目录中,更改插件配置以将 excel.xlsx 替换为你的 excel 表的名称。
<plugin>
<groupId>com.github.pkoli</groupId>
<artifactId>xls2pojo-maven-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<phase>compile</phase>
<configuration>
<fileName>target/classes/excel.xlsx</fileName>
</configuration>
<goals>
<goal>xls2pojo</goal>
</goals>
</execution>
</executions>
</plugin>
该插件假定第一列是类名,第二列是变量名,第三列是数据类型。因此,如果 Excel 工作表包含以下方式的数据 -
生成以下 POJO -
public class Student {
public String name;
public double marks;
public int rollno;
}
public class Teacher {
public String name;
}