Я использую POI для создания таблицы Excel из моего управляемого компонента. Вот мой студенческий боб:Как выполнить итерацию свойств компонента для заполнения ячеек электронной таблицы
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());
}
}
Это прекрасно работает. Он генерирует электронную таблицу с именами столбцов и вставляет идентификатор студента в каждую ячейку (для каждой строки, возвращаемой итератором).
Однако, я хочу перебирать свойства, доступные для студенческого компонента - Идентификатор, Фамилия, Имя и т. Д. И заполнять ячейки электронной таблицы. Как мне это сделать? Могу ли я ссылаться на свойства студенческого компонента по индексу?
Спасибо,
Dan
Спасибо, что ответили Свену. Я не уверен, соответствует ли ваш ответ моим потребностям. Я ищу способ получить значения каждого из этих свойств для каждого ученика, фактически не ссылаясь на свойство по имени, поэтому мне не нужно вводить строку для каждого свойства следующим образом: row.createCell ((java. . lang.Integer) (0)) setCellValue (student.getid()); \t \t \t \t row.createCell ((java.lang.Integer) (1)). SetCellValue (student.getFirstname()); \t \t \t \t row.createCell ((java.lang.Integer) (2)). SetCellValue (student.getLastname()); –
@ DanSoares: Я добавил еще один пример –
Sven, Спасибо за этот пример. Я в конечном итоге создание метода (GetProperty) в моем студенческом бобе, который я тогда ссылается следующим образом: для (е = 0; х <= fieldList.length-1; е ++) {// Список столбца \t \t \t \t \t \t \t \t \t var itemval = student.getProperty ((java.lang.Целое число) (е)); \t \t \t \t \t если (itemval === NULL) { \t \t \t \t \t // ничего не делать \t \t \t \t \t} Else {\t \t \t \t \t \t \t \t \t java.lang.System. out.println ("Значение позиции:" + itemval); \t \t \t \t \t ряд.конкретизацияCell ((java.lang.Integer) (f)). SetCellValue (itemval); \t \t \t \t \t} \t \t \t} Большое спасибо Андреюс Chaliapinas из команды IBM XPages для решения. –