0

我正在创建一个应用程序,用户将在其中上传 excel 文件,应用程序将以 DataTable 的形式显示它。到目前为止,我已经使用此处给出的代码编写了以下代码

    <h3>Dynamic Data table example</h3>
    <p:dataTable var="data" value="#{tableBean.people}">
        <p:columns value="#{tableBean.columns}" var="column"
            columnIndexVar="colIndex">
            <f:facet name="header">
            #{column.header}
            </f:facet>

        #{data[column.property]}
        </p:columns>
    </p:dataTable>

</h:form>

托管 bean 代码

private void addPeople() {
    people = new ArrayList<People>();

    People w1 = new People("Homer Simpson","The father",48);
    People w2 = new People("Marge Simpson","The mother",46);
    People w3 = new People("Bart Simpson","Oldest child",11);
    People w4 = new People("Lisa Simpson","Sister of Bart",8);

    people.add(w1);
    people.add(w2);
    people.add(w3);
    people.add(w4);
}

private void createDynamicColumns() {

    columns = new ArrayList<ColumnModel>();
    columns.add(new ColumnModel("Name", "name"));
    columns.add(new ColumnModel("Role", "role"));
    columns.add(new ColumnModel("Age", "age"));
}

Getter 方法也包括在内。

此代码工作正常,但在此示例中,我为行设置了模式,即(名称、角色、年龄)。但我不知道 excel 文件中有多少列,因此无法定义行数据的模式之前。

有没有办法解决这个问题?

4

0 回答 0