Microsoft Projectből származó projektmenetrendek Excel táblázatokba konvertálása gyakori igény a jelentéskészítéshez és az adatelemzéshez. Aspose.CAD Cloud SDK for Node.js lehetővé teszi a fejlesztők számára, hogy néhány sor kóddal MPP‑t XLSX formátumba konvertáljanak Node.JS‑ben. Ebben az oktatóanyagban megmutatjuk, hogyan állítsuk be a könyvtárat, töltsünk fel egy MPP fájlt a felhő tárolóba, generáljunk egy XLSX feladatlap jelentést, és hogyan nyerjük ki az eredményt. Az útmutató továbbá ekvivalens cURL parancsokat is biztosít a REST API felhasználók számára. A végére készen állsz majd az MPP‑t XLSX‑re konvertálás integrálására a Node.JS alkalmazásaidba.

Teljes működő példa az MPP-t XLSX-re konvertáláshoz Node.JS-ben

Ez a példa bemutatja, hogyan tölthet fel egy MPP fájlt, kérhet egy XLSX feladatlap‑jelentést, és töltheti le az eredményt az Aspose.Tasks Cloud API használatával.

const path = require('path');
const fs = require('fs');
const {
    Configuration,
    ApiClient,
    TasksApi,
    StorageApi
} = require('asposetaskscloud');

(async () => {
    // -------------------- Configuration --------------------
    const config = new Configuration({
        clientId: 'YOUR_CLIENT_ID',
        clientSecret: 'YOUR_CLIENT_SECRET'
        // baseUrl can be set here if needed
    });
    const apiClient = new ApiClient(config);
    const tasksApi = new TasksApi(apiClient);
    const storageApi = new StorageApi(apiClient);

// -------------------- File paths --------------------
    const localInputPath = path.resolve(__dirname, 'project.mpp');
    const remoteFolder = 'Temp';
    const remoteFileName = 'project.mpp';
    const localOutputPath = path.resolve(__dirname, 'project.xlsx');

try {
        // -------------------- Upload MPP to cloud storage --------------------
        const fileBuffer = fs.readFileSync(localInputPath);
        await storageApi.uploadFile({
            path: `${remoteFolder}/${remoteFileName}`,
            file: fileBuffer
        });

// -------------------- Convert to XLSX (TaskSheet report) --------------------
        const reportResponse = await tasksApi.getTaskReport({
            name: remoteFileName,
            folder: remoteFolder,
            reportType: 'TaskSheet', // options: GanttChart, ResourceSheet, etc.
            format: 'xlsx'
        });

// -------------------- Save XLSX locally --------------------
        fs.writeFileSync(localOutputPath, reportResponse.body);
        console.log(`Conversion completed. XLSX saved to ${localOutputPath}`);
    } catch (err) {
        if (err.response && err.response.body) {
            console.error('API error:', err.response.body);
        } else {
            console.error('Unexpected error:', err);
        }
    } finally {
        // -------------------- Cleanup remote file --------------------
        try {
            await storageApi.deleteFile({ path: `${remoteFolder}/${remoteFileName}` });
        } catch (cleanupErr) {
            // ignore cleanup errors
        }
    }
})();

Megjegyzés: Ez a kódpélda bemutatja az alapvető funkcionalitást. Mielőtt a projektjében használná, győződjön meg róla, hogy frissíti a fájl útvonalakat és a konfigurációs értékeket, hogy megfeleljenek a tényleges környezetnek, ellenőrizze, hogy minden szükséges függőség megfelelően telepítve van-e, és alaposan tesztelje a fejlesztői környezetben. Ha problémákba ütközik, kérjük, tekintse meg a hivatalos dokumentációt vagy lépjen kapcsolatba a támogatási csapattal segítségért.

REST API használata cURL segítségével MPP → XLSX konverzióhoz

Az alábbiakban a cURL parancsok láthatók, amelyek ugyanazokat a lépéseket hajtják végre, mint a Node.js kód, az Aspose.Tasks Cloud REST API használatával.

  1. Szerezzen be egy hozzáférési tokent - cserélje le a YOUR_CLIENT_ID és YOUR_CLIENT_SECRET értékeket a hitelesítő adataira.
curl -X POST "https://api.aspose.cloud/v4.0/oauth2/token?grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
  1. Töltsd fel a forrás MPP fájlt - tárold az előző lépésből származó token-t a YOUR_ACCESS_TOKEN változóban.
curl -X PUT "https://api.aspose.cloud/v4.0/storage/file/Temp/project.mpp" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/octet-stream" \
     --data-binary "@project.mpp"
  1. Kérje le az XLSX feladatlap jelentést.
curl -X GET "https://api.aspose.cloud/v4.0/tasks/project.mpp/report?reportType=TaskSheet&format=xlsx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o project.xlsx
  1. Töltse le a generált XLSX fájlt (az előző parancs már helyileg menti, de közvetlenül is lekérheti).
curl -X GET "https://api.aspose.cloud/v4.0/storage/file/Temp/project.xlsx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o project.xlsx

Az egyes végpontok részletes leírásáért tekintse meg a hivatalos API-referencia.

Hogyan működik az MPP XLSX-re konvertálása Node.JS-ben

A megvalósítás a következő lépésekre bontható le:

  1. Configure authentication – A Configuration objektum tartalmazza a clientId és a clientSecret értékeket.
const config = new Configuration({
    clientId: 'YOUR_CLIENT_ID',
    clientSecret: 'YOUR_CLIENT_SECRET'
});
  1. Create API clients – ApiClient példányosítva van a konfigurációval, és átadva a TasksApi és a StorageApi számára.
const apiClient = new ApiClient(config);
const tasksApi = new TasksApi(apiClient);
const storageApi = new StorageApi(apiClient);
  1. Upload the MPP file – A fájlt beolvassuk egy pufferré, és a storageApi.uploadFile segítségével küldjük fel.
const fileBuffer = fs.readFileSync(localInputPath);
await storageApi.uploadFile({ path: `${remoteFolder}/${remoteFileName}`, file: fileBuffer });
  1. Request the XLSX report – A tasksApi.getTaskReport metódust meghívjuk a reportType: 'TaskSheet' és format: 'xlsx' paraméterekkel.
const reportResponse = await tasksApi.getTaskReport({
    name: remoteFileName,
    folder: remoteFolder,
    reportType: 'TaskSheet',
    format: 'xlsx'
});
  1. Save the result locally – A bináris választestet a project.xlsx fájlba írjuk.
fs.writeFileSync(localOutputPath, reportResponse.body);

Ezek a lépések egy STEP by STEP Convert Large MPP Files to XLSX in Node.JS munkafolyamatot illusztrálnak, amely más jelentéstípusokra, például GanttChart vagy ResourceSheet, is adaptálható.

Előkövetelmények és beállítások az Aspose.CAD Cloud SDK-hez

  1. Node.js verzió - Győződjön meg arról, hogy Node.js 14 vagy újabb verziót használ.
  2. Telepítse az SDK-t - Használja az npm-et a csomag hozzáadásához a projektjéhez.
    npm install @asposecloud/aspose-cad-cloud
    
    A csomag elérhető a hivatalos letöltési oldalon.
  3. Hozzon létre egy Aspose Cloud fiókot - Szerezze be a clientId és clientSecret értékeket az Aspose Cloud irányítópultjáról.
  4. Állítson be környezeti változókat (opcionális, de ajánlott) a hitelesítő adatok forráskódból való eltávolítása érdekében.

Ezekkel az előfeltételekkel kielégítve futtathatja a korábban bemutatott teljes kódrészletet.

Konvertálási beállítások és opciók

A Tasks API több paramétert kínál, amelyek befolyásolják a kimenetet:

  • reportType – Meghatározza az exportált adatok típusát. A lehetőségek közé tartozik a TaskSheet, GanttChart, ResourceSheet stb. A példa a TaskSheet-et használja, hogy egy lapos feladatlistát állítson elő XLSX formátumban.
  • format – Jelenleg támogatja a xlsx, pdf, html formátumokat. Ennek az értéknek a módosítása megváltoztatja a kimeneti fájl típusát.
  • folder – Megadja a felhőalapú tároló mappáját, ahol a forrás MPP található. Igény szerint állítsa be a projekt struktúrájának megfelelően.

A teljes opciók listájáért lásd az API referenciát.

Összegzés

Most már rendelkezik egy teljes, termelésre kész módszerrel a MPP XLSX-re konvertálásához Node.JS-ben az Aspose.CAD Cloud SDK for Node.js használatával. Az SDK kezeli a hitelesítést, a fájl tárolást és a jelentéskészítést, lehetővé téve, hogy az XLSX adatokat az üzleti logikájába integrálja. Ne felejtse el megfelelő licencet szerezni a termelési használathoz; az árak részletei elérhetők a termékoldalon, és ideiglenes licencet szerezhet a ideiglenes licenc oldal. Boldog kódolást!

Gyakran Ismételt Kérdések

Átalakíthatom-e az MPP-t XLSX-re Node.JS-ben anélkül, hogy az Aspose.CAD Cloud SDK-t használnám?
Miközben egy egyedi elemző megvalósítható, az Aspose.CAD Cloud SDK for Node.js egy tesztelt, megbízható megoldást kínál, amely fejlesztési időt takarít meg és kezeli a szélsőséges eseteket.

Milyen jelentéstípusok érhetők el az MPP XLSX formátumba konvertálásakor?
Az API támogatja a TaskSheet, GanttChart, ResourceSheet és egyéb típusokat. Különböző reportType kiválasztása megváltoztatja a generált XLSX fájl szerkezetét.

Hogyan kezeljem a nagy MPP fájlokat a konverzió során?
Töltsön fel nagy fájlokat darabokban a tároló API használatával, figyelje a konverzió állapotát, és streamelje az XLSX eredményt a magas memóriahasználat elkerülése érdekében.

További információk