1

我正在尝试使用 MPXJ - Java 从 MS Project 2010 .mpp 文件中提取基本任务和资源信息。我打开文件并转储所有任务没有问题,但是在尝试访问分配给任务的资源时出现问题。我正在调用 Task.GetResourceNames(),但它每次都返回 null。我也尝试过调用 Task.GetResourceAssignments(),但这也每次都返回 null。

我创建了一个非常非常简单的项目,其中包含一个摘要任务、三个子任务,它们链接在一起,并为每个任务分配了不同的资源。

当我运行我的程序时,我看到了所有任务,但是对 GetResourceNames() 的调用仍然返回 null。

我是否通过错误的界面进行此操作?

4

1 回答 1

0

您可以在 javadoc 中看到,对于 mpp 文件,GetResourceNames() 始终返回 null。要从特定任务中获取资源名称,我是这样做的:

            List<ResourceAssignment> Resources = task.getResourceAssignments();
// getResourceAssignments() return a list of ResourceAssignment of a specific task.
            Iterator i = Resources.iterator();

            while (i.hasNext()) {
                ResourceAssignment ra = (ResourceAssignment) i.next();
                Resource r = ra.getResource();
// we get the resource from the resource assignment
                System.out.println("\t Assigned Resources : " + r.getName());
// print the name of the Resource. If you want to do the same than GetResourceNames, just add each name in a String and you will have the same results at the end.
            } 

希望这可以帮助。

于 2013-01-22T22:32:14.543 回答