从 Primavera P6 导出和导入
dhtmlxGantt 库支持将甘特图数据导出到 Primavera P6,以及从 Primavera P6 导入数据到甘特图。
该服务可免费使用,但导出的文件将在 GPL 许可下包含库的水印。 购买授权后,在有效支持期内(所有 PRO 授权为 12 个月)导出文件将不再包含水印。
有多种导出服务可供本地安装在您的计算机上,允许您直接将甘特图导出到 Primavera P6。 请注意,导 出服务并未与甘特图包捆绑。 有关使用条款的详细信息,请参阅相关文档。
在线导出服务限制
导出服务在处理时间和请求大小上有限制。
时间限制
如果导出过程超过 20 秒,将会被取消,并显示以下错误:
Error: Timeout trigger 20 seconds
当多个用户同时导出甘特图时,处理时间可能会比平时更长。然而,每个用户的导出请求计时是独立的,这是预期行为。
请求大小限制
通用 API 端点 https://export.dhtmlx.com/gantt 处理所有导出方法(如 exportToPDF、exportToPNG、exportToMSProject 等),最大请求大小为 10 MB。
此外,还有专用 API 端点 https://export.dhtmlx.com/gantt/project 用于 MSProject 和 Primavera P6 的导出/导入服务(exportToMSProject / importFromMSProject / exportToPrimaveraP6 / importFromPrimaveraP6)。该端点支持最大请求大小为 40 MB。
使用导出模块
对于大型甘特图的导出,提供了独立导出模块。 如果您拥有 Commercial、Enterprise 或 Ultimate 授权,则该模块免费;也可通过此链接单独购买。
有关与 MS Project 配合使用导出模块的更多信息,请参见本指南。该模块支持 MS Project 和 Primavera P6 的导出/导入。
导出到 Primavera P6
Gantt 组件可以将链接、任务和资源导出到 Primavera P6。
要将甘特图中的数据导出到 Primavera P6,请按以下步骤操作:
- 启用 export_api 插件,具体方法请参见 plugins 文档:
gantt.plugins({
export_api: true
});
对于 8.0 之前的 Gantt 版本,您需要在页面中引入 https://export.dhtmlx.com/gantt/api.js 以启用在线导出服务,例如:
<script src="codebase/dhtmlxgantt.js"></script>
<script src="https://export.dhtmlx.com/gantt/api.js"></script>
- 使用 exportToPrimaveraP6() 方法从甘特图中导出数据:
gantt.exportToPrimaveraP6();
该方法会向远程服务发送请求,服务将生成并返回 XML Project 文件,或提供下载文件的 URL。
Export data : MS Project, PrimaveraP6, Excel & iCal
导出数据到 Primavera 时,确保项目任务的 Summary 属性返回 true 以保证正常功能:
gantt.exportToPrimaveraP6({
tasks: {
Summary: function (task) {
return !!gantt.hasChild(task.id);
},
CustomProperty: function (task) {
return task.custom_property;
},
SlateId: function (task) {
return task.id + "";
},
}
});
Related example: 为 WBS 任务(PrimaveraP6 的 Summary 任务)添加自定义属性