项目管理工具----普加项目管理中间件(PlusProject )入门教程(11):msProject项目的导入和导出(上)
普加项目管理中间件是用于跨浏览器和跨平台应用程序的功能齐全的 Gantt 图表,可满足项目管理应用程序的所有需求,是最完善的甘特图图表库。
除了上文介绍的加载json数据的方式展示外,更常用的方式是导入。
普加项目管理中间件支持导入微软project两种格式的文件,xml和mpp,这里的文件解析都是后台处理的,本文以.net为例。
前端提供了这样一个方法,可以弹出一个选择文件上传的窗口
1 2 3 4 5 | var win = new PlusProject.ImportProjectWindow({ project: this .project }); win.setData(); win.show(); |
上传之后后台接收文件,进行处理。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | Object ImportProject() { //获取程序路径 string tempFile = Request.PhysicalApplicationPath; string path = tempFile + "Upload\\" ; //找到目标文件对象 HttpPostedFile uploadFile = Request.Files[ "Fdata" ]; bool isMPP = uploadFile.FileName.IndexOf( ".mpp" ) != -1; bool isXML = uploadFile.FileName.IndexOf( ".xml" ) != -1; if (!isXML && !isMPP) { throw new Exception( "请上传导入.xml或.mpp文件!" ); } string FileName = uploadFile.FileName; FileName = FileName.Replace( ".mpp" , "" ); FileName = FileName.Replace( ".xml" , "" ); FileName = FileName + "_" + DateTime.Now.ToString( "yyyyMMddhhmmss" ) + (isMPP ? ".mpp" : ".xml" ); // 如果有文件,则保存到一个地址 if (uploadFile.ContentLength > 0) { string filePath = string .Format( "{0}{1}{2}" , tempFile, "Upload\\" , FileName); uploadFile.SaveAs(filePath); //读取xml,保存项目 Hashtable project = null ; try { project = PluSoft.Utils.PlusProject.Read(path + FileName, false ); } catch (Exception e) { throw e; } finally { System.IO.File.Delete(filePath); } return project; } return null ; } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具