当前位置: 首页 > news >正文

项目管理工具dhtmlxGantt甘特图入门教程(十五):从MS项目导入/导出(下)

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

dhtmlxGantt是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表,可满足应用程序的所有需求,是完善的甘特图图表库

DhtmlxGantt正版试用下载(qun 764148812)icon-default.png?t=N176https://www.evget.com/product/4213/download

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

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"}) 应该返回服务器错误。

dhtmlxGantt vs MS Project 时间计算

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

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

之间的时长转换存在差异 1. 首先,dhtmlxGantt 和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";
http://www.lryc.cn/news/25674.html

相关文章:

  • 2023 年 6 大智能合约语言
  • 家用洗地机哪款最好用?全球洗地机十大品牌
  • 【2223sW2】LOG1
  • Spring Cloud配置application.yml与bootstrap.yml区别及多profile配置 | Spring Cloud 6
  • springboot通过aop实现全局日志(是否自定义注解都可以)
  • k8s面试题-进阶
  • 预览版Edge申请微软new Bing失败解决方案
  • Spring中Bean生命周期及循环依赖
  • 【3.1】MySQL锁、动态规划、Redis缓存,过期删除与淘汰策略
  • Python+Yolov5跌倒检测 摔倒检测 人物目标行为 人体特征识别
  • 计算机底层:储存器的性能指标(CPU和内存等硬件的性能以及 对比标准)
  • 操作留痕功能实现与探讨
  • 深入浅出消息队列MSMQ
  • Maven多模块开发
  • QT之OpenGL帧缓冲
  • $ 6 :选择、循环
  • 【项目设计】高并发内存池 (四)[pagecache实现]
  • 玩转qsort——“C”
  • 【干货】又是一年跳槽季!Nginx 10道核心面试题及解析
  • 【线程安全的HashMap有哪些,CurrentHashMap底层是怎么实现线程安全的】
  • C语言-结构体【详解】
  • 浏览器输入url到页面渲染完成经历了哪些步骤
  • 大数据技术之Hadoop(Yarn)
  • 5.建造者模式
  • 数据库基础-数据库基本概念(1-1)
  • 学习笔记-架构的演进之服务容错策略-服务发现-3月day01
  • 采编式AIGC视频生产流程编排实践
  • Leetcode23. 合并k个升序链表
  • 从用户出发,互联网产品策划方法论
  • STM32 E18-D80NK红外检测