0
我使用POI從託管bean生成Excel電子表格。這是我的學生豆:如何迭代bean的屬性以填充電子表格的單元格
package edu.phc.students.model;
public class Student {
private String m_firstName;
private String m_lastName;
private String m_id;
public Student() {}
public Student(
String firstName,
String lastName,
String id,
)
{
m_firstName=firstName;
m_lastName=lastName;
m_id=id;
}
public String getid() {
return m_id;
}
public void setid(String newid) {
m_id=newid;
}
public String getFirstname() {
return m_firstName;
}
public void setFirstname(String newFirstName) {
m_firstName=newFirstName;
}
public String getLastname() {
return m_lastName;
}
public void setLastname(String newLastname) {
m_lastName=newLastname;
}
}
這是最終代碼(SSJS)的一小部分。
var students:java.util.List = studentlist.getStudents();
var iterator:java.util.Iterator = students.iterator();
var count = 0;
while (iterator.hasNext()) {
var student:edu.phc.students.model.Student = iterator.next();
count++;
var row:HSSFRow = sheet1.createRow(count);
for(f = 0 ; f <= fieldList.length-1 ; f++){//column List
// output student's data into Excel row
row.createCell((java.lang.Integer)(f)).setCellValue(student.getid());
}
}
這很好用。它使用列名生成電子表格,並將學生ID插入每個單元格(對於迭代器返回的每一行)。
但是,我想遍歷學生bean的可用屬性 - ID,姓氏,名字等,並填充電子表格的單元格。我怎麼做?我可以通過索引引用student bean的屬性嗎?
感謝,
丹
感謝您回覆斯文。我不確定你的答案是否符合我的需求。我正在尋找一種方法來獲取每個學生的每個屬性的值,而不用按名稱實際引用屬性,所以我不必爲每個屬性鍵入一行,如下所示:row.createCell((java。 。lang.Integer)(0))setCellValue(student.getid()); ((java.lang.Integer)(1))。setCellValue(student.getFirstname()); ((java.lang.Integer)(2))。setCellValue(student.getLastname()); –
@DanSoares:我又增加了另一個例子 –
Sven,謝謝你的例子。我結束了創建在我的學生豆的方法(的getProperty),我然後引用如下:關於(F = 0;˚F<= fieldList.length-1;˚F++){//列列表\t \t \t \t \t \t \t \t \t var itemval = student.getProperty((java.lang。整數)(F)); \t \t \t \t \t如果(itemval === NULL){ \t \t \t \t \t //什麼也不做 \t \t \t \t \t}其他{\t \t \t \t \t \t \t \t \t java.lang.System中。 out.println(「Item value:」+ itemval); ((java.lang.Integer)(f))。setCellValue(itemval);()方法返回一個數組,並返回一個數組。 \t \t \t \t \t} \t \t \t}非常感謝Andrejus Chaliapinas從IBM的XPages團隊解決方案。 –