【问题标题】:How to Add List Of Project Task Details To The 'net.sf.mpxj.Task task' In C#如何在 C# 中将项目任务详细信息列表添加到“net.sf.mpxj.Task 任务”
【发布时间】:2016-03-25 01:52:31
【问题描述】:

我有一个具有 ProjectInfo 和 ProjectTasks 的 c# 对象,现在如何将这些 projectTasks 添加到 C# 中的“net.sf.mpxj.Task 任务”中

当我为 net.sf.mpxj.Task 创建新对象时,它显示“net.sf.mpxj.Task 类型没有定义构造函数”的错误,所以它无法创建新对象,那么如何我添加了 projectTasks。

下面是它不起作用的示例代码:

     List<net.sf.mpxj.Task> tasks=new List<net.sf.mpxj.Task>();

            foreach (var pTask in projectInfo.ProjectTasks)
            {

                net.sf.mpxj.Task task = new net.sf.mpxj.Task();

                        task.TaskId=ptask.TaskId;
                        task.Name = pTask.TaskName;
                        task.Notes = pTask.Description;
                         task.Start=pTask.EstimatedStartDate.ToJavaDate();
                         task.Finish  = pTask.EstimatedEndDate.ToJavaDate();
                        task.Estimated = true;
                        task.Priority = null;
                        task.Type = null;

                    tasks.Add(task);

            }

提前致谢。

【问题讨论】:

    标签: c# c#-4.0 ms-project mpxj


    【解决方案1】:

    您没有正确创建 MPXJ 对象。请按照以下代码创建 MPXJ 任务。在这里,我正在创建 MS Project 的 xml 格式的 MSPDI 文件。

        ProjectFile project = new ProjectFile();
    
        foreach (var pTask in projectInfo.ProjectTasks)
        {
            Task task = project.AddTask();
            task.Name = pTask.TaskName;
            task.Notes = pTask.Description;
            task.Start=pTask.EstimatedStartDate.ToJavaDate();
            task.Finish  = pTask.EstimatedEndDate.ToJavaDate();
            task.Estimated = true;
            task.Priority = null;
            task.Type = null;
        }
    
        TaskContainer taskCon = project.AllTasks;
        if (taskCon.Size() >= 1)
        {
            java.io.OutputStream outs = null;
            try
            {
                // string serverPath = Server.MapPath(fileName);
                if (System.IO.File.Exists(fullFileName))
                {
                    System.IO.File.Delete(fullFileName);
                }
                MSPDIWriter writer = new MSPDIWriter();
                outs = new java.io.FileOutputStream(fullFileName);
                writer.Write(project, outs);
                outs.close();
    
                if (System.IO.File.Exists(fullFileName))
                {
                    string fileName = "ProjectTask.xml";
                    WebClient client = new WebClient();
                    HttpResponse response = HttpContext.Current.Response;
                    response.Clear();
                    response.ClearContent();
                    response.ClearHeaders();
                    response.Buffer = true;
                    response.ContentType = "Application/msproject";
                    response.AddHeader("Content-Disposition", "attachment;filename=\"" + fileName + "\"");
                    byte[] data = client.DownloadData(fullFileName);
                    response.BinaryWrite(data);
                    Response.End();
                }
            }
            catch (System.Exception ex)
            {
    
            }
            finally
            {
                if (outs != null)
                outs.close();
            }
        }   
    

    我在这方面做了很好的研究。如果需要更多帮助,请告诉我。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-28
      • 2012-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多