中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

java mpxj任務如何管理

小樊
85
2024-09-15 16:05:40
欄目: 編程語言

MPXJ 是一個用于處理 Microsoft Project 文件格式(.mpp)的 Java 庫。要使用 MPXJ 管理任務,首先需要將 MPXJ 添加到項目中。以下是使用 Maven 或 Gradle 添加 MPXJ 依賴的方法:

Maven:

   <groupId>net.sf.mpxj</groupId>
   <artifactId>mpxj</artifactId>
   <version>8.5.1</version>
</dependency>

Gradle:

implementation 'net.sf.mpxj:mpxj:8.5.1'

接下來,可以使用 MPXJ 提供的 API 來讀取、創建和修改任務。以下是一些常見操作的示例:

  1. 讀取 MPP 文件并獲取任務列表:
import net.sf.mpxj.ProjectFile;
import net.sf.mpxj.Task;
import net.sf.mpxj.reader.ProjectReader;

import java.io.File;
import java.util.List;

public class MPXJExample {
    public static void main(String[] args) throws Exception {
        File file = new File("example.mpp");
        ProjectReader reader = new ProjectReader();
        ProjectFile projectFile = reader.read(file);
        List<Task> tasks = projectFile.getAllTasks();
        
        for (Task task : tasks) {
            System.out.println("Task Name: " + task.getName());
            System.out.println("Task Start Date: " + task.getStart());
            System.out.println("Task Finish Date: " + task.getFinish());
            System.out.println("Task Duration: " + task.getDuration());
        }
    }
}
  1. 創建新任務并將其添加到項目中:
import net.sf.mpxj.ProjectFile;
import net.sf.mpxj.Task;
import net.sf.mpxj.writer.ProjectWriter;

import java.io.File;
import java.util.Date;

public class MPXJExample {
    public static void main(String[] args) throws Exception {
        ProjectFile projectFile = new ProjectFile();
        Task task = projectFile.addTask();
        task.setName("New Task");
        task.setStart(new Date());
        task.setDuration(projectFile.getDefaultDuration(1)); // 1 day duration

        ProjectWriter writer = new ProjectWriter();
        writer.write(projectFile, new File("output.mpp"));
    }
}
  1. 修改現有任務的屬性:
import net.sf.mpxj.ProjectFile;
import net.sf.mpxj.Task;
import net.sf.mpxj.reader.ProjectReader;
import net.sf.mpxj.writer.ProjectWriter;

import java.io.File;
import java.util.List;

public class MPXJExample {
    public static void main(String[] args) throws Exception {
        File file = new File("example.mpp");
        ProjectReader reader = new ProjectReader();
        ProjectFile projectFile = reader.read(file);
        List<Task> tasks = projectFile.getAllTasks();

        for (Task task : tasks) {
            if (task.getName().equals("Task to update")) {
                task.setDuration(projectFile.getDefaultDuration(2)); // Update duration to 2 days
                break;
            }
        }

        ProjectWriter writer = new ProjectWriter();
        writer.write(projectFile, new File("updated.mpp"));
    }
}

這些示例展示了如何使用 MPXJ 庫來管理 Microsoft Project 文件中的任務。根據需求,可以使用 MPXJ 提供的其他 API 來實現更復雜的功能。更多關于 MPXJ 的信息和示例,請參閱官方文檔:https://www.mpxj.org/docs/index.html

0
夹江县| 五河县| 库车县| 阆中市| 南宁市| 阜南县| 琼结县| 得荣县| 沭阳县| 天镇县| 绩溪县| 云南省| 磐安县| 衡南县| 万荣县| 凉城县| 满洲里市| 怀宁县| 湛江市| 红河县| 长海县| 电白县| 蚌埠市| 黄山市| 司法| 石景山区| 杭州市| 京山县| 广灵县| 沧源| 溆浦县| 昌黎县| 江永县| 怀柔区| 上高县| 拉孜县| 卓资县| 阆中市| 英吉沙县| 茌平县| 云阳县|