MPP a XER-re

Az MPP a Microsoft Project egyik elsődleges formátuma, amelyet gyakran használnak a munkaterhelések, ütemezések és pénzügyek tárolására. A Microsoft Project 1984-es korai kiadása óta használják projektek kezelésére, ütemezések kidolgozására, költségvetések beállítására és erőforrások elosztására. Ezért az MPP formátum a Microsoft Projecthez társított natív fájltípus, és a projekt mentésekor tárolja a projektinformációkat. Hasonlóképpen, a XER fájlformátum a Primavera P6 projekttervező és -menedzsment alkalmazás által használt, védett projektfájlformátum. Tehát abban az esetben, ha az MPP fájlokat más formátumba kell konvertálni, akkor vagy telepítenünk és konfigurálnunk kell egy helyszíni megoldást, vagy egy felhő alapú megoldást kell választanunk.

Microsoft Project feldolgozó API

A Microsoft Project és a Primavera P6 a projekt-hozzárendelések, feladatok, erőforrások, naptárak, attribútumok és ütemezési információk népszerű fájlformátumai közé tartoznak. Annak érdekében, hogy ügyfeleink könnyebben tudják feldolgozni ezeket a dokumentumokat, kifejlesztettük az Aspose.Tasks Cloud API-t, amely egy REST-alapú megoldás, amely lehetővé teszi projekt-hozzárendelések lekérését, új hozzárendelések hozzáadását a projektekhez, a projekt összes feladatának lekérését, a feladat pozíciójának megváltoztatását, naptár hozzáadását a projekthez, időskálás adatok beszerzését és még sok mást. Végezze el ezeket a műveleteket harmadik féltől származó szoftverek telepítése nélkül.

Ezenkívül kifejlesztettük az Aspose.Tasks Cloud SDK-t .NET-hez, amely az Aspose.Tasks Cloud köré épül, és lehetővé teszi az összes projektmenedzsmenttel kapcsolatos feladat megvalósítását a .NET-alkalmazáson belül.

Telepítés

A .NET Cloud SDK használatához az első lépés a rendszeren keresztüli telepítés. Letölthető NuGet és GitHub segítségével. Kérjük, hajtsa végre a következő parancsot a terminálban az SDK NuGet-en keresztüli telepítéséhez:

nuget install Aspose.Tasks-Cloud

Ha a NuGet Package Managerből kell telepítenie, hajtsa végre a következő parancsot:

PM> Install-Package Aspose.Tasks-Cloud

Visual Studio megközelítés

Egy másik megközelítés a telepítés közvetlenül a Visual Studión belül:

  1. Nyissa meg a Megoldásböngészőt.
  2. Bontsa ki a projektet, és kattintson a jobb gombbal a Csomagok mappára a megoldáson belül.
  3. Válassza a NuGet-csomagok kezelése… lehetőséget.
  4. Kattintson a Tallózás fülre, és keresse meg az „Aspose.Tasks-Cloud” kifejezést.
  5. Kattintson az Aspose.Tasks-Cloud csomag melletti jelölőnégyzetre, válassza ki a megfelelő verziót a jobb oldali lapon, majd kattintson a Csomag hozzáadása gombra.
felirat

Image 1:- Aspose.Tasks-Cloud as NuGet package.

Ingyenes Cloud előfizetés

A felhő API-k eléréséhez először létre kell hoznunk egy ingyenes felhő-előfizetési fiókot. Igen, jól hallotta. Egy ingyenes előfizetési fiók, amely akár 150 ingyenes dokumentumfeldolgozási kérelmet is biztosít. Nincs szükség hitelkártya vagy egyéb fizetési adatok megadására. Tehát a folyamat befejezéséhez látogasson el az Aspose.Cloud dashboard oldalra. Ha rendelkezik GitHub- vagy Google-fiókkal, egyszerűen regisztráljon. Ellenkező esetben kattintson az Új fiók létrehozása gombra, és adja meg a szükséges információkat. Most jelentkezzen be az irányítópultra a hitelesítési adatokkal, és bontsa ki az Alkalmazások részt az irányítópulton, és görgessen lefelé az Ügyfél hitelesítő adatai szakasz felé, hogy megtekinthesse az ügyfél-azonosítót és az ügyféltitkot.

Ügyfél hitelesítő adatai

  1. kép: - Ügyfél hitelesítő adatai az Aspose.Cloud irányítópultján.

MPP-ről XER-re C#-ban

Kövesse az alábbi lépéseket az MPP-fájl Primavera P6 XER-re konvertálásához C# .NET alkalmazásban.

  • Először is hozzon létre egy konfigurációs objektumot, miközben megadja az ügyfélazonosítót és az ügyféltitkot.
  • Másodszor, hozzon létre egy TasksApi objektumot, miközben argumentumként adja át a konfigurációs objektumot.
  • Harmadszor, olvassa el az MPP-fájlt a helyi meghajtóról, és töltse fel a felhőtárhelyre a TasksApi UploadFile(..) metódusával.
  • Most hozzon létre egy GetTaskDocumentWithFormatRequest objektumot, ahol meghatározzuk a bemeneti MPP nevet és az eredő formátumot a ProjectFileFormat felsorolásból.
  • Ezután meghívjuk a TasksApi GetTaskDocumentWithFormat(…) metódusát az átalakítási folyamat elindításához.
  • Végül rendben. a kimeneti XER helyi meghajtóra mentéséhez a File.Create objektumot a saveToDisk(…) metóduson belül használjuk.
// Szerezze le a ClientID-t a https://dashboard.aspose.cloud/ webhelyről
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";

// hozzon létre egy konfigurációs objektumot
var config = new Configuration{ AppSid= clientID, AppKey = clientSecret };

// inicializálja az Aspose.Tasks objektumot
var tasksApi = new TasksApi(config);

String inputFile = "Home move plan.mpp";
String resultant = "Output.xer";

try
{
    // olvassa be a bemeneti MPP fájlt a helyi tárhelyről
    using (var inputStream = new FileStream("/Users/nshahbaz/Downloads/" + inputFile, FileMode.Open))
    {
        var uploadFileRequest = new PostCreateRequest(inputFile, inputStream);
        
        // töltse fel a fájlt a felhőtárhelyre
        tasksApi.UploadFile(uploadFileRequest);
    }

    // inicializálja az MPP-XER konverziós folyamatot
    var response = tasksApi.GetTaskDocumentWithFormat(new GetTaskDocumentWithFormatRequest
    {
        Format = Aspose.Tasks.Cloud.Sdk.Model.ProjectFileFormat.Xer,
        Name = inputFile,
        Folder = null,
    });

    if (response != null )
    {
        Console.WriteLine("Successfully converted MPP to XER !");
    }

    // mentse az eredményül kapott fájlt a helyi meghajtóra
    saveToDisk(response, "/Users/nshahbaz/Downloads/" + resultant);
}
catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}

public static void saveToDisk(Stream responseStream, String resultantFile)
{
    var fileStream = File.Create(resultantFile);
    responseStream.Seek(0, SeekOrigin.Begin);
    responseStream.CopyTo(fileStream);
    fileStream.Close();
}

Konvertálja az MPP-t Primavera P6-ba a cURL használatával

A cURL parancsok egy másik kényelmes módja a REST API-k elérésének parancssori terminálon keresztül. Így az Aspose.Tasks Cloudhoz is hozzáférhetünk a cURL parancsokon keresztül, és teljesíthetjük a követelményeinket. Az API-k elérése előtt azonban létre kell hoznunk egy JSON Web Tokent (JWT) az Aspose.Cloud irányítópultról lekért ClientID és ClientSecret adatok alapján. Kérjük, hajtsa végre a következő parancsot a terminálban a JWT token generálásához.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=4ccf1790-accc-41e9-8d18-a78dbb2ed1aa&client_secret=caac6e3d4a4724b2feb53f4e460eade3" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

A JWT token létrehozása után hajtsa végre a következő parancsot a felhőtárhelyen elérhető MPP fájl XER formátumra konvertálásához.

curl -X GET "https://api.aspose.cloud/v3.0/tasks/Home%20move%20plan.mpp/format?format=xer&returnAsZipArchive=false" \
-H  "accept: multipart/form-data" \
-H  "authorization: Bearer <JWT Token>" \
-o Converted.xer

A használt mintafájl. A fenti példa letölthető a Home move plan.mpp oldalról.

Következtetés

Ebben a cikkben a Microsoft Project (MPP) fájl Oracle Primavera P6 XER fájllá konvertálásának lépéseit tárgyaltuk C# .NET kódrészlet, valamint a cURL parancs használatával. Ezenkívül az engedélyezési mechanizmust olyan rugalmasan alakították ki, hogy csak a szolgáltatásaink igénybevételének időszakáért kell fizetni. Ezenkívül ingyenes előfizetéssel akár 150 ingyenes dokumentumfeldolgozási kérelemre is jogosult. Tehát ha elégedett az API-val, fontolóra veheti a licencvásárlást, amely meglehetősen rugalmas. Csak a szerverhez intézett kérésekért kell fizetnie, és ez akár 0,005 USD/API hívás is lehet. További részletekért keresse fel a pricing oldalt.

Ennek ellenére a Cloud SDKS-einket MIT License alatt fejlesztjük, így teljes kódrészletük letölthető a GitHub oldalról. Ha bármilyen problémába ütközik az API használata során, vagy bármilyen kapcsolódó kérdése van, forduljon bizalommal az Ingyenes támogatási fórumon.

Kapcsolódó cikkek

Javasoljuk továbbá, hogy látogassa meg a következő linkeket, ha többet szeretne megtudni erről: