Microsoft Project에서 프로젝트 일정을 Excel 스프레드시트로 변환하는 것은 보고 및 데이터 분석을 위해 자주 필요한 작업입니다. Aspose.CAD Cloud SDK for Node.js를 사용하면 개발자가 몇 줄의 코드만으로 Node.JS에서 MPP를 XLSX로 변환할 수 있습니다. 이 튜토리얼에서는 라이브러리를 설정하고, MPP 파일을 클라우드 스토리지에 업로드하고, XLSX 작업 시트 보고서를 생성하고, 결과를 가져오는 방법을 보여줍니다. 가이드는 REST API 사용자를 위해 동등한 cURL 명령도 제공합니다. 끝까지 진행하면 Node.JS 애플리케이션에 MPP를 XLSX로 변환하는 기능을 통합할 준비가 됩니다.

Node.JS에서 MPP를 XLSX로 변환하는 전체 작업 예제

이 예제는 MPP 파일을 업로드하고, XLSX 작업 시트 보고서를 요청한 다음, Aspose.Tasks Cloud API를 사용하여 결과를 다운로드하는 방법을 보여줍니다.

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
        }
    }
})();

참고: 이 코드 예제는 핵심 기능을 보여줍니다. 프로젝트에서 사용하기 전에 파일 경로와 구성 값을 실제 환경에 맞게 업데이트하고, 모든 필수 종속성이 올바르게 설치되었는지 확인하며, 개발 환경에서 충분히 테스트하십시오. 문제가 발생하면 공식 문서를 참조하거나 지원 팀에 문의하십시오.

cURL을 사용한 REST API로 MPP를 XLSX 변환

아래는 Aspose.Tasks Cloud REST API를 사용하여 Node.js 코드와 동일한 단계를 수행하는 cURL 명령입니다.

  1. 액세스 토큰 얻기 - YOUR_CLIENT_ID 및 YOUR_CLIENT_SECRET를 귀하의 자격 증명으로 교체하십시오.
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. 소스 MPP 파일 업로드 - 이전 단계에서 받은 토큰을 YOUR_ACCESS_TOKEN에 저장합니다.
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. XLSX 작업 시트 보고서 요청.
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. 생성된 XLSX 파일 다운로드 (이전 명령이 이미 로컬에 저장하지만, 직접 가져올 수도 있습니다).
curl -X GET "https://api.aspose.cloud/v4.0/storage/file/Temp/project.xlsx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o project.xlsx

각 엔드포인트에 대한 자세한 내용은 공식 API 참조를 참조하십시오.

Node.JS에서 MPP를 XLSX로 변환하는 방법 작동 방식

구현은 다음 단계로 나눌 수 있습니다:

  1. 인증 구성 - Configuration 객체는 clientId와 clientSecret을 보유합니다.

    const config = new Configuration({
        clientId: 'YOUR_CLIENT_ID',
        clientSecret: 'YOUR_CLIENT_SECRET'
    });
    
  2. API 클라이언트 생성 - ApiClient는 구성으로 인스턴스화되고 TasksApi와 StorageApi에 전달됩니다.

    const apiClient = new ApiClient(config);
    const tasksApi = new TasksApi(apiClient);
    const storageApi = new StorageApi(apiClient);
    
  3. MPP 파일 업로드 - 파일을 버퍼로 읽은 후 storageApi.uploadFile을 통해 전송합니다.

    const fileBuffer = fs.readFileSync(localInputPath);
    await storageApi.uploadFile({ path: `${remoteFolder}/${remoteFileName}`, file: fileBuffer });
    
  4. XLSX 보고서 요청 - tasksApi.getTaskReport를 reportType: 'TaskSheet' 및 format: 'xlsx'와 함께 호출합니다.

    const reportResponse = await tasksApi.getTaskReport({
        name: remoteFileName,
        folder: remoteFolder,
        reportType: 'TaskSheet',
        format: 'xlsx'
    });
    
  5. 결과를 로컬에 저장 - 바이너리 응답 본문을 project.xlsx에 씁니다.

    fs.writeFileSync(localOutputPath, reportResponse.body);
    

이 단계들은 STEP by STEP 대형 MPP 파일을 XLSX로 변환(Node.JS) 워크플로우를 보여주며, GanttChart 또는 ResourceSheet와 같은 다른 보고서 유형에도 적용할 수 있습니다.

전제 조건 및 Aspose.CAD Cloud SDK 설정

  1. Node.js 버전 - Node.js 14 이상을 실행하고 있는지 확인하십시오.
  2. SDK 설치 - npm을 사용하여 패키지를 프로젝트에 추가합니다.
    npm install @asposecloud/aspose-cad-cloud
    
    패키지는 공식 다운로드 페이지에서 다운로드할 수 있습니다.
  3. Aspose Cloud 계정 만들기 - Aspose Cloud 대시보드에서 clientId와 clientSecret을 얻습니다.
  4. 환경 변수 설정 (선택 사항이지만 권장) - 자격 증명을 소스 코드에 포함하지 않도록 합니다.

이러한 전제 조건이 충족되면, 앞에서 보여준 전체 코드 예제를 실행할 수 있습니다.

변환 옵션 및 설정

Tasks API는 출력에 영향을 주는 여러 매개변수를 제공합니다:

  • reportType - 내보내는 데이터 종류를 결정합니다. 옵션에는 TaskSheet, GanttChart, ResourceSheet 등이 있습니다. 예제에서는 TaskSheet를 사용하여 XLSX 형식의 평면 작업 목록을 생성합니다.
  • format - 현재 xlsx, pdf, html을 지원합니다. 이 값을 변경하면 출력 파일 유형이 전환됩니다.
  • folder - 소스 MPP 파일이 위치한 클라우드 스토리지 폴더를 지정합니다. 프로젝트 구조에 맞게 필요에 따라 조정하십시오.

전체 옵션 목록은 API reference를 참조하십시오.

마무리

이제 Aspose.CAD Cloud SDK for Node.js를 사용하여 Node.JS에서 MPP를 XLSX로 변환하는 완전하고 프로덕션 준비된 방법을 갖게 되었습니다. SDK는 인증, 파일 저장 및 보고서 생성을 처리하므로 XLSX 데이터를 비즈니스 로직에 통합하는 데 집중할 수 있습니다. 프로덕션 사용을 위해 적절한 라이선스를 획득하는 것을 기억하십시오; 가격 세부 정보는 제품 페이지에서 확인할 수 있으며 임시 라이선스 페이지에서 임시 라이선스를 얻을 수 있습니다. 즐거운 코딩 되세요!

자주 묻는 질문

Node.JS에서 Aspose.CAD Cloud SDK를 사용하지 않고 MPP를 XLSX로 변환할 수 있나요?
맞춤 파서를 사용할 수는 있지만, Aspose.CAD Cloud SDK for Node.js는 검증된 신뢰할 수 있는 솔루션을 제공하여 개발 시간을 절약하고 다양한 예외 상황을 처리합니다.

MPP를 XLSX로 변환할 때 사용할 수 있는 보고서 유형은 무엇인가요?
API는 TaskSheet, GanttChart, ResourceSheet 등을 지원합니다. 다른 reportType을 선택하면 생성된 XLSX 파일의 구조가 변경됩니다.

대용량 MPP 파일을 변환할 때 어떻게 처리하나요?
스토리지 API를 사용하여 파일을 청크 단위로 업로드하고, 변환 상태를 모니터링하며, 메모리 사용량을 줄이기 위해 XLSX 결과를 스트리밍합니다.

Read More