脱离微软 Microsoft Project 读取 Project 文件

一、创建C#项目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、下载mxpj插件

百度网盘下载链接: https://pan.baidu.com/s/1ztAqxKEKgUdu2lN8hxZSIw
提取码:
dxh7

三、添加引用

在这里插入图片描述

四、上手写代码

using System.Collections.Generic;
using System.Linq;
using System.Text;

using net.sf.mpxj.reader;
using net.sf.mpxj;
using net.sf.mpxj.MpxjUtilities;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string _fullFileName = @"C:\Users\Administrator\Desktop\临时文件\01百邦电子实施主计划(一期)(1).mpp";
            ProjectReader reeder = ProjectReaderUtility.getProjectReader(_fullFileName);
            ProjectFile file = reeder.read(_fullFileName);
            #region
            foreach (net.sf.mpxj.Task task in file.Tasks.ToIEnumerable())
            {
                if (task.ID.toString() == "0") 
                {
                    continue;
                }
                string ID = task.ID.toString();//ID
                string FPARENTROWID = task.ParentTask.ID.toString();//父级ID
                string FTASKNAME = task.Name;//名称
                string FSTART = task.Start.ToDateTime().ToString().Substring(0, 10);//预算开始日期
                string FFINISH = task.Finish.ToDateTime().ToString().Substring(0, 10);//预算结束日期
                string FSHIJISTAR = task.LateStart.ToDateTime().ToString().Substring(0, 10);//实际开工日期
                string FSHIJIFIND = task.LateFinish.ToDateTime().ToString().Substring(0, 10);//实际结束日期
                int day = task.LateFinish.ToDateTime().Subtract(task.LateStart.ToDateTime()).Days + 1;//预计用时
                Console.WriteLine(ID);
                Console.WriteLine(FTASKNAME);

            }
            #endregion
        }
    }
}

在这里插入图片描述

五、结束

在这里插入图片描述

六、温馨提示

对您有帮助,请务必点个赞和加一下关注,以免下次找不到我哦。

如有商业用途,请标明出处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值