我正在创建一个应用程序,用户将在其中上传 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 文件中有多少列,因此无法定义行数据的模式之前。
有没有办法解决这个问题?