项目管理工具DHTMLX Gantt教程(十五):从MS项目导入导出(下)

这篇文章给大家讲解Dhtmlx Gantt请求大文件导入的大小限制。

DHTMLX Gantt官方最新版免费下载试用,历史版本下载,在线文档和帮助文件下载-慧都网

请求大文件导入的大小限制

MSProject导出/导入服务有两个 API 端点:

  • https://export.dhtmlx.com/gantt – 服务于所有导出方法( exportToPDF 、 exportToPNG 、 exportToMSProject 等)的默认端点。 最大请求大小为 10 MB 。
  • https://export.dhtmlx.com/gantt/project – 专用于 MS Project 服务的端点( 仅限 exportToMSProject / importFromMSProject )。 最大请求大小:40 MB 。

端点可以由导出配置对象的 server 属性指定:

gantt.importFromMSProject({ server:"https://export.dhtmlx.com/gantt", data: file, callback: function(project){ // some logic }});

如果未指定端点, https://export.dhtmlx.com/gantt 则默认使用 。 以下调用等效于上述调用:

gantt.importFromMSProject({ data: file, callback: function(project){ // some logic }});

为了导出或导入超过 4MB 限制的大型项目,可以使用第二个端点:

gantt.importFromMSProject({ server:"https://export.dhtmlx.com/gantt/project", data: file, callback: function(project){ // some logic }});

它允许发送最大 40MB 的请求,并支持 MS Project 导出和导入。 它只能用于 MS Project 导出。

任何其他方法,例如 gantt.exportToPDF({server:"https://export.dhtmlx.com/gantt/project"}) 应该返回服务器错误。

DHTMLX Gantt vs MS Project 时间计算

DHTMLX Gantt 和 MS Project 中日期计算的工作方式存在根本差异,在某些情况下会导致不同的结果。

这些差异也因甘特图中使用的配置组合而异。 但是您可以更改可能影响计算结果的甘特图设置:

之间的时长转换存在差异 1. 首先,DHTMLX Gantt 和MS Project 。

1、可以通过指定 HoursPerDay 和 MinutesPerDay来绕过它: 当您将甘特图导出到 MS Project 时

gantt.exportToMSProject({ project: { HoursPerDay: function () { return 24; }, MinutesPerDay: function () { return 24 * 60; } }});

2. 其次,您的项目可能禁用了 work_time 设置:

gantt.config.work_time = false;

请注意,即使禁用了工作时间计算,甘特图仍然在配置中具有默认日历设置(每天 8 小时,周一至周五工作周)。 即使在甘特图中禁用了工作时间,我们的导出客户端也会始终将默认日历发送到 MS Project。 这就是为什么 MS Project 以不同方式计算任务持续时间的原因。

作为一种解决方法,您可以清除默认日历,因此即使将其发送到 MS Project,任务持续时间也将以与甘特图相同的方式计算:

gantt.setWorkTime({day:0, hours:[0,24]});gantt.setWorkTime({day:1, hours:[0,24]});gantt.setWorkTime({day:2, hours:[0,24]});gantt.setWorkTime({day:3, hours:[0,24]});gantt.setWorkTime({day:4, hours:[0,24]});gantt.setWorkTime({day:5, hours:[0,24]});gantt.setWorkTime({day:6, hours:[0,24]});

3. 此外,如果您将 gantt.config.duration_unit 指定为“day”,您可能会注意到汇总项日期之间的差异:

gantt.config.duration_unit = "day";

在这种情况下,甘特图会将持续时间四舍五入到总天数。 但是 MS Project 不会这样做,并且会显示分数持续时间。 例如,顶级项目在甘特图中的持续时间为 439,而在 MS Project 中的持续时间为 438.58。

唯一的解决方法是将 duration_unit 切换为小时单位:

gantt.config.duration_unit = "hour";

DHTMLX Gantt是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表,可满足项目管理控件应用程序的所有需求,是最完善的甘特图图表库。了解更多Dhtmlx Gantt相关内容和资讯,欢迎在线咨询或者私信我获取正版试用版及报价。


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2022年12月22日 上午10:41
下一篇 2022年12月22日 上午10:55

相关推荐