Converter cronogramas de projetos do Microsoft Project em planilhas Excel é uma necessidade frequente para relatórios e análise de dados. Aspose.CAD Cloud SDK for Node.js permite que desenvolvedores convertam MPP para XLSX em Node.JS com apenas algumas linhas de código. Neste tutorial, você verá como configurar a biblioteca, fazer upload de um arquivo MPP para o armazenamento em nuvem, gerar um relatório de planilha de tarefas XLSX e recuperar o resultado. O guia também fornece comandos cURL equivalentes para usuários da API REST. Ao final, você estará pronto para integrar a conversão de MPP para XLSX em suas aplicações Node.JS.

Exemplo completo em funcionamento para converter MPP para XLSX em Node.JS

Este exemplo demonstra como fazer upload de um arquivo MPP, solicitar um relatório de planilha de tarefas em XLSX e baixar o resultado usando a API Aspose.Tasks Cloud.

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

Nota: Este exemplo de código demonstra a funcionalidade principal. Antes de usá‑lo em seu projeto, certifique‑se de atualizar quaisquer caminhos de arquivo e valores de configuração para corresponder ao seu ambiente real, verifique se todas as dependências necessárias estão corretamente instaladas e teste minuciosamente em seu ambiente de desenvolvimento. Se encontrar algum problema, consulte a documentação oficial ou entre em contato com a equipe de suporte para obter assistência.

Usando API REST com cURL para conversão de MPP para XLSX

Abaixo estão os comandos cURL que executam as mesmas etapas do código Node.js, usando a API REST do Aspose.Tasks Cloud.

  1. Obter um token de acesso - substitua YOUR_CLIENT_ID e YOUR_CLIENT_SECRET pelas suas credenciais.
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. Carregar o arquivo MPP de origem - armazene o token da etapa anterior em 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. Solicite o relatório da planilha de tarefas 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. Baixe o arquivo XLSX gerado (o comando anterior já o salva localmente, mas você também pode recuperá‑lo diretamente).
curl -X GET "https://api.aspose.cloud/v4.0/storage/file/Temp/project.xlsx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o project.xlsx

Para mais detalhes sobre cada endpoint, veja a referência oficial da API.

Como Converter MPP para XLSX em Node.JS Funciona

A implementação pode ser dividida nas seguintes etapas:

  1. Configurar autenticação - O objeto Configuration contém clientId e clientSecret.
    const config = new Configuration({
        clientId: 'YOUR_CLIENT_ID',
        clientSecret: 'YOUR_CLIENT_SECRET'
    });
    
  2. Criar clientes da API - ApiClient é instanciado com a configuração e passado para TasksApi e StorageApi.
    const apiClient = new ApiClient(config);
    const tasksApi = new TasksApi(apiClient);
    const storageApi = new StorageApi(apiClient);
    
  3. Carregar o arquivo MPP - O arquivo é lido para um buffer e enviado via storageApi.uploadFile.
    const fileBuffer = fs.readFileSync(localInputPath);
    await storageApi.uploadFile({ path: `${remoteFolder}/${remoteFileName}`, file: fileBuffer });
    
  4. Solicitar o relatório XLSX - tasksApi.getTaskReport é chamado com reportType: 'TaskSheet' e format: 'xlsx'.
    const reportResponse = await tasksApi.getTaskReport({
        name: remoteFileName,
        folder: remoteFolder,
        reportType: 'TaskSheet',
        format: 'xlsx'
    });
    
  5. Salvar o resultado localmente - O corpo da resposta binária é gravado em project.xlsx.
    fs.writeFileSync(localOutputPath, reportResponse.body);
    

Estas etapas ilustram um fluxo de trabalho PASSO A PASSO Converta Arquivos MPP Grandes para XLSX em Node.JS que pode ser adaptado para outros tipos de relatório, como GanttChart ou ResourceSheet.

Pré-requisitos e Configuração para Aspose.CAD Cloud SDK

  1. Versão do Node.js - Certifique-se de que está executando o Node.js 14 ou posterior.
  2. Instale o SDK - Use o npm para adicionar o pacote ao seu projeto.
    npm install @asposecloud/aspose-cad-cloud
    
    O pacote está disponível na página de download oficial.
  3. Crie uma conta Aspose Cloud - Obtenha clientId e clientSecret no painel do Aspose Cloud.
  4. Configure variáveis de ambiente (opcional, mas recomendado) para manter as credenciais fora do código-fonte.

Com esses pré‑requisitos atendidos, você pode executar o exemplo de código completo mostrado anteriormente.

Opções e Configurações de Conversão

A API de Tarefas oferece vários parâmetros que influenciam a saída:

  • reportType - Determina o tipo de dados exportados. As opções incluem TaskSheet, GanttChart, ResourceSheet, etc. O exemplo usa TaskSheet para gerar uma lista plana de tarefas em XLSX.
  • format - Atualmente suporta xlsx, pdf, html. Alterar este valor muda o tipo de arquivo de saída.
  • folder - Especifica a pasta de armazenamento na nuvem onde o MPP de origem está localizado. Ajuste conforme necessário para a estrutura do seu projeto.

Para obter uma lista completa de opções, consulte a referência da API.

Concluindo

Agora você tem um método completo e pronto para produção para converter MPP para XLSX no Node.JS usando o Aspose.CAD Cloud SDK for Node.js. O SDK lida com autenticação, armazenamento de arquivos e geração de relatórios, permitindo que você se concentre na integração dos dados XLSX na sua lógica de negócios. Lembre‑se de adquirir uma licença adequada para uso em produção; detalhes de preços estão disponíveis na página do produto e você pode obter uma licença temporária na página de licença temporária. Boa codificação!

Perguntas Frequentes

Posso converter MPP para XLSX em Node.JS sem usar o Aspose.CAD Cloud SDK?
Embora seja possível criar um analisador personalizado, Aspose.CAD Cloud SDK for Node.js fornece uma solução testada e confiável que economiza tempo de desenvolvimento e lida com casos extremos.

Quais tipos de relatório estão disponíveis ao converter MPP para XLSX?
A API suporta TaskSheet, GanttChart, ResourceSheet e mais. Selecionar um reportType diferente altera a estrutura do arquivo XLSX gerado.

Como lidar com arquivos MPP grandes durante a conversão?
Carregue arquivos grandes em partes usando a API de armazenamento, monitore o status da conversão e faça streaming do resultado XLSX para evitar alto consumo de memória.

Leia Mais