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