Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中使用MPXWriter更新mpx文件中的特定行_Java_Ms Project_Mpxj - Fatal编程技术网

如何在java中使用MPXWriter更新mpx文件中的特定行

如何在java中使用MPXWriter更新mpx文件中的特定行,java,ms-project,mpxj,Java,Ms Project,Mpxj,我正在尝试使用MPXWrite更新mpx文件 实际上,我将mpp文件转换为mpx文件,这样现在我就可以读取所有任务和任务详细信息。但我想更新mpx文件中特定任务的完成百分比,我是如何做到这一点的 任何人都可以提供代码 提前谢谢。。请帮我解决这个问题 //像这样我在读mpx文件 private static void readMPX(String inputFile){ File f = new File(inputFile); MPXReader read1 = new MPXR

我正在尝试使用MPXWrite更新mpx文件

实际上,我将mpp文件转换为mpx文件,这样现在我就可以读取所有任务和任务详细信息。但我想更新mpx文件中特定任务的完成百分比,我是如何做到这一点的

任何人都可以提供代码

提前谢谢。。请帮我解决这个问题

//像这样我在读mpx文件

 private static void readMPX(String inputFile){

   File f = new File(inputFile);
   MPXReader read1 = new MPXReader();
   ProjectFile pFile = null;

   try{
        pFile = read1.read(f);
       }catch(Exception e){
           e.printStackTrace();
       }
    List llist=pFile.getAllTasks();

   for(int i=1;i<10/*llist.size()*/;i++)
   {

   Task t=(Task)llist.get(i);
   System.out.println("------------------------------------");
   System.out.println("Task Details : "+i  +llist.get(i));
   System.out.println("WBS : "+t.getWBS());
   System.out.println("WBS Leve : "+t.getWBSLevel());
   System.out.println("Task name : "+t.getName());
   System.out.println("Duration : "+t.getDuration());
   //System.out.println("Task Unique ID : "+t.getUniqueID());
 //  System.out.println("Task Unique ID : "+t.getUniqueID());
   System.out.println("Base Line Start : "+t.getBaselineStart());
   System.out.println("Base Line Finish : "+t.getBaselineFinish());
   System.out.println("Actual Start Date : "+t.getActualStart());
 //  System.out.println("\tFinish Date : "+t.getFinish());
   System.out.println("Actual End Date : "+t.getActualFinish());
   System.out.println("% Complete : "+t.getPercentageComplete());
   //getSubTasks(t,t.getUniqueID());
   System.out.println("------------------------------------");
   }

  }
private static void readMPX(字符串输入文件){
文件f=新文件(inputFile);
MPXReader read1=新的MPXReader();
ProjectFile pFile=null;
试一试{
pFile=read1.read(f);
}捕获(例外e){
e、 printStackTrace();
}
List llist=pFile.getAllTasks();

对于(inti=1;i,以下是一些示例代码:

private static void readMPX(String inputFile, String outputFile)
{
   File f = new File(inputFile);
   MPXReader read1 = new MPXReader();
   ProjectFile pFile = read1.read(f);

   // Select the task you want to update
   // Here we are just selecting the first task
   Task task = pFile.getTaskByID(1);

   // Let's set it to 60% complete
   task.setPercentageComplete(60);

   // Now we write the result to a new file
   new MPXWriter().write(pFile, outputFile);   
  }

这是Microsoft的限制。我们无法写回mpp文件