0

有没有办法根据 Excel 表中可用的列自动生成动态 POJO?

示例:如果 Excel 工作表包含 10 列和 15 行,我想要一个具有 10 个字符串数组变量且数组大小应为 15 的 Pojo。

任何提示都会有所帮助。

4

2 回答 2

0

您可以编写一个工具(例如 Maven 插件),它采用 Excel 工作表并从中生成代码。这样的工具不应该很复杂并且可能很有用。然而,实现这样的事情的常用方法是在 XSD 中指定数据结构并从中生成代码,例如使用JAXB。因此,IMO 您需要一个令人信服的论据来从 Excel 而不是 XSD 生成代码,以保证为其编写工具。

于 2014-02-04T09:06:34.707 回答
0

有一个为此特定目的而创建的插件。它需要一个 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;
}
于 2017-10-01T07:25:14.483 回答