`
mjm13
  • 浏览: 49099 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

mpxj简介

    博客分类:
  • java
阅读更多

1 mpp简单介绍:

mpp指的是Microsoft Office Project文件。用于定制计划,主要参数有任务名称,资源名称,工期,开始时间,结束时间,工期通过工作时间及开始时间结束时间推算出来(工作时间:每星期工作几天,工作时间段为什么。可指定特定的工作日,工作时间段可单独设置)。也可以拆分任务,例如:一汽新需求外委,中间几天可能需要解决bug那么这几天不算在工期内,但是时间段包含解决bug的消耗时间。

 

2 操作mpp需要导入系统的jar包:

activation.jar,jaxb-api.jar,jaxb-impl.jar,jsr173_1.0_api.jar,poi-3.2-FINAL-20081019.jar,
mpxj.jar。(mpxj依赖于上面的jar包。) 以上包都可以在mpxj网站下载,直接下载mpxj3.0 的源码,源码中包含以上包。(注意:下载的mpxj源码中自带的mpxj.jar包直接导入项目会有问题,请将源码直接编译成class文件然后打成jar包再导入系统。)

3重要的类及属性简介:
Task 阶段
Name : 阶段名称。
UniqueID: 唯一编号。
ID: 编号(唯一编号和编号可能不同)。
OutlineLevel: 阶段级别。(1代表最大的一个阶段,以此类推)
Duration: 工期。(已天为单位)
Start: 阶段开始时间
Finish: 阶段结束时间
ActualStartDate: 实际开始时间
ActualFinishDate: 实际完成时间
Resource 资源
Name : 资源名称。

资源分配中的信息直接影响到导出mpp的准确性,如果只有任务的工期,没有在ResourceAssignment
中赋值则导出的阶段工期就会出错。

ResourceAssignment 资源分配
RemainingWork: 工期,已小时为单位例如阶段工期为5,则work=5*8
Work: 同上
ActualWork: 实际工作时间也是已小时为单位
Start: 阶段开始时间
Finish: 阶段结束时间
TimephasedResourceAssignment 拆分时间段
Start: 时间段开始时间
Finish: 时间段结束时间
TotalWork: 总工作时间
WorkPerDay: 每天的工作时间,已分钟为单位,一般为480
ProjectCalendar 工作日历
Name 日历名称
setWorkingDay 设置星期几是否工作
addCalendarHours 设置星期几工作时间段
ProjectCalendarException 特殊工作日
FromDate: 开始时间
ToDate: 结束时间
Working 是否工作
Range 工作时间段
 4 注意事项:

a)存储信息时不必将每个任务的"TimephasedResourceAssignment"信息存储起来,只有该阶段有拆分信息时该信息才有用。如果该阶段没有拆分存入该信息,导出时会导致数据错误。(TimephasedResourceAssignment:拆分时间段)
b)如果导入导出不一致可将导入的mpp转成xml,与导出的xml对比。(可能差别会很大,最好用删除的方法排除错误信息)
c)该项目还不完善有的功能目前还无法实现,如果碰到问题最好先在mpxj中直接导入导出试试看支不支持该功能。

5 参考资料:

mpxj官方网站: http://mpxj.sourceforge.net/
mpxj API:
http://mpxj.sourceforge.net/apidocs/index.html
mpp xml标签解释:
http://www.microsoft.com/taiwan/office/project/prodinfo/saleguide/xmlstructure.mspx


 

6 简单例子:请下载代码

 

 

分享到:
评论
3 楼 mjm13 2012-10-16  
foible 写道
有最新的包,博文需要改变某些属性设置了。

懒得改。
2 楼 foible 2012-10-16  
有最新的包,博文需要改变某些属性设置了。
1 楼 yxflyhai 2011-11-18  
谢了楼主 介绍挺详细

相关推荐

Global site tag (gtag.js) - Google Analytics