Java 用ADF中的mpp文件以编程方式填充表?

Java 用ADF中的mpp文件以编程方式填充表?,java,oracle-adf,mpxj,Java,Oracle Adf,Mpxj,我一直在尝试用.MPP扩展名文件填充ADF文件。我可以在控制台中打印数据,但无法将其传递到af表。我使用InputFile组件,并将其ValueChangeListener放入其中,在其方法中,我命令调用其他读取文件的方法,我尝试用ArrayList填充 有人把这样的文件填在表格里吗?或者相反,我可以提出一些建议 我留下了读取文件的图像 这个类读取文件 public void listHierarchy(ProjectFile file) { SimpleDateFormat df =

我一直在尝试用.MPP扩展名文件填充ADF文件。我可以在控制台中打印数据,但无法将其传递到af表。我使用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);

        }
    }
}

@Marvin这是我的代码我假设
个人列表
是ADF表的输入?你能展示一下你是如何建立这种关系的吗?@JonIles当然。。。您还可以创建一个编程视图对象,并将其从Datacontrol添加到页面中,就像处理任何普通VO一样。然后就是遍历文件并在该VO上插入新行。我发现这种方法更容易实现。@Marvin这是我的代码我想
personList
是ADF表的输入吗?你能展示一下你是如何建立这种关系的吗?@JonIles当然。。。您还可以创建一个编程视图对象,并将其从Datacontrol添加到页面中,就像处理任何普通VO一样。然后就是遍历文件并在该VO上插入新行。我发现这种方法更容易实现。