我一直在尝试使用.MPP扩展文件填充ADF文件。我能够在控制台中打印数据,但我无法将其传递给af - table。我使用InputFile组件并将其ValueChangeListener放在其方法中,我命令调用其他方法来读取文件,我尝试用ArrayList填充。
有没有人用这样的文件填充表格?或者相反可以提出一些建议。?
我留下了阅读文件的图像。
此类读取文件
public void listHierarchy(ProjectFile file) {
SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy HH:mm z");
for (Task task : file.getChildTasks()) {
System.out.println("Task: " + task.getName());
Date date = task.getStart();
String startDate =
date != null ? df.format(date) : "(no hay fecha de inicio)";
date = task.getFinish();
String finishDate =
date != null ? df.format(date) : "(no hay fecha final)";
Double porcentaje =
Double.parseDouble(task.getPercentageComplete().toString());
personList.add(new llenarActividad(task.getName(), porcentaje,
task.getDuration().toString(),
startDate, finishDate, "mono"));
listHierarchy(task, " ");
}
System.out.println(" s/* e definen las tareas en formato jerarquico */");
System.out.println();
}
/**
* @param task
* @param indent
*/
public void listHierarchy(Task task, String indent) {
SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy HH:mm z");
for (Task child : task.getChildTasks()) {
Date date = task.getStart();
String startDate =
date != null ? df.format(date) : "(no hay fecha de inicio)";
date = task.getFinish();
String finishDate =
date != null ? df.format(date) : "(no hay fecha final)";
Double porcentaje =
Double.parseDouble(task.getPercentageComplete().toString());
System.out.println(indent + "Task: " + child.getName() +
task.getPercentageComplete() +
task.getDuration() + startDate + finishDate);
personList.add(new llenarActividad(child.getName(), porcentaje,
task.getDuration().toString(),
startDate, finishDate, "mono"));
listHierarchy(child, indent + " ");
}
}
此类上传文件
public class llenarActividadBean {
public void cargarArchivo(ValueChangeEvent vce) throws Exception {
ProjectHelper ph = new ProjectHelper();
if (vce.getNewValue() == null) {
} else {
UploadedFile file = (UploadedFile)vce.getNewValue();
//Se asigna el archivo a la variable path
String path = ph.uploadFile(file);
//Se obtiene el Objeto de vce
ProjectReader reader = ProjectReaderUtility.getProjectReader(path);
//Se hace la lectura del archivo
ProjectFile mpx = reader.read(path);
System.out.println("MPP file type: " + mpx.getMppFileType());
ph.listAssignments(mpx);
ph.listHierarchy(mpx);
}
}
}