如何使用Java实现MPXJ-Library在mpp文件中显示工作列



我正在做一个内部项目,在Java中,我必须阅读Excel并将其解析为mpp,分别是MS项目兼容的。xml文件。我正在创建文件,一切都很好。但我想显示的列"工作"one_answers";ID"默认情况下,

我可以在MS项目中显示它们,值是我所期望的,但我必须选择并显示它们。当您打开.xml文件时,是否有可能默认显示它们?

我试了很多,搜索:

  • https://www.mpxj.org/
  • https://www.mpxj.org/apidocs/overview-summary.html
  • https://github.com/tmyroadctfig/mpxj/tree/master/net/sf/mpxj
  • 使用projectwwriter在mpxj标题中添加列

以及StackOverflow。但是我没有找到任何帮助我的信息,或者它没有帮助,因为方法改变了,我没有找到等效的新方法。

这是我填写mpp任务和资源的地方。

if (!extractedRow.getElement().isEmpty())
{
element = contract.addTask();
element.setName(extractedRow.getElement());
element.setStart(startingDate);
element.setOutlineLevel(LookUp.Mpp_Conversion_Element_OutlineLevel());
element.setID(id++);
}
else if (!extractedRow.getWorkpackage().isEmpty())
{
workpackage = Objects.requireNonNull(element).addTask();
workpackage.setName(extractedRow.getWorkpackage());
workpackage.setOutlineLevel(LookUp.Mpp_Conversion_Workpackage_OutlineLevel());
workpackage.setID(id++);
}
else if (!extractedRow.getTask().isEmpty())
{
task = Objects.requireNonNull(workpackage).addTask();
task.setName(extractedRow.getTask());
task.setType(TaskType.FIXED_WORK);
task.setOutlineLevel(LookUp.Mpp_Conversion_Task_OutlineLevel());
task.setWork(Duration.getInstance(extractedRow.getEstimatedTime(), TimeUnit.HOURS));
task.setDuration(Duration.getInstance(extractedRow.getEstimatedTime() / 8, TimeUnit.DAYS));
task.setRemainingWork(Duration.getInstance(extractedRow.getEstimatedTime(), TimeUnit.HOURS));
task.setID(id++);
if (!extractedRow.getRole().isEmpty())
{
for (Resource resource : _project.getResources())
{
if (resource.getName().equals(_filereader.get_mapper().getMapping(extractedRow.getRole())))
{
assn = Objects.requireNonNull(task).addResourceAssignment(resource);
assn.setStart(task.getStart());
assn.setWork(Duration.getInstance(extractedRow.getEstimatedTime(), TimeUnit.HOURS));
}
}
}
}

亲切的问候

不幸的是,使用MPP文件是您在Microsoft Project打开日程表时自动指定其视觉外观的唯一方法。

你有几个选择:

  • 我相信是Aspose。任务可以生成MPP文件,所以它可能是你可以配置你想要的布局的一部分
  • 由于您已经在使用Excel,您可能想要考虑使用VBA,它将允许您从Excel中提取所需的数据,在MS Project中填充时间表并配置时间表的布局。
  • 最后,如果你想使用MPXJ,当你生成MSPDI文件并将其导入Microsoft Project时,你会得到一些关于文件如何打开的选项(作为一个新的时间表,附加到现有的时间表,更新现有的时间表)。如果创建一个空的"模板"MPP文件与您需要的可视化布局,使用追加或更新选项,当您打开XML文件,并选择模板文件作为目标,应该给你一个完成的文件,使用您已经生成的数据与您需要的可视化布局。

相关内容

最新更新