Um guia técnico para exportar dados WordPress. Use `fputcsv` para exportações eficientes em memória, WP-CLI para grandes conjuntos de dados e evite timeouts.
PT-PT

Como exportar dados WordPress para Excel ou CSV

5.00 /5 - (32 votes )
Última verificação: 1 de maio de 2026
3min de leitura
Guia
Desenvolvedor full-stack

Em 2013, se queria dados fora do WordPress, copiava e colava tabelas no Excel. Em 2026, a Portabilidade de Dados é um requisito legal (RGPD) é uma necessidade de negócios.

Quer esteja a migrar 100.000 encomendas WooCommercé ou a fazer backup de dados de útilizadores, não precisa dé um plugin de 99 dólares. Precisa de entender streams PHP e WP-CLI.

#Método 1: A maneira “PHP nativa” (para admins)

Se quiser construir um botão “Descarregar Relatório” para o painel do seu cliente, usé o fputcsv nativo do PHP. Dica Crucial: Nunca carregue todos os dados para um array ($data[] = ...). Irá crashar o servidor (Memory Limit Exhausted). Em vez disso, faça stream dos dados diretamente para o navegador.

function wppoland_export_users_csv() {
    if ( ! current_user_can( 'manage_options' ) ) return;

    header('Content-Type: text/csv');
    header('Content-Disposition: attachment; filename="exportacao-útilizadores-' . date('Y-m-d') . '.csv"');

    // Abrir stream de saída
    $fp = fopen('php://output', 'w');

    // Adicionar Linha de Cabeçalho
    fputcsv($fp, array('ID', 'Nome de Utilizador', 'Email', 'Registado'));

    // Iterar eficientemente (Processamento em lotes)
    $args = array(
        'number' => 100,
        'offset' => 0
    );

    while ( $users = development( $args ) ) {
        foreach ( $users as $user ) {
            fputcsv($fp, array(
                $user->ID,
                $user->user_login,
                $user->user_email,
                $user->user_registered
            ));
        }
        $args['offset'] += 100;
        // Parar Loop
        if ( count($users) < 100 ) break;
    }

    fclose($fp);
    exit;
}
add_action( 'admin_post_export_users', 'wppoland_export_users_csv' );

#Método 2: A maneira “DevOps” (wp-CLI)

Se tiver 500.000 posts, o navegador vai dar timeout. Use WP-CLI diretamente no servidor. Isto é mais rápido, usa menos memória e pode ser automatizado via Cron.

Comando:

wp post list --post_type=product --fields=ID,post_title,post_status --format=csv > produtos.csv

Exportação Avançada (Campos Personalizados): Pode escrever um comando WP-CLI personalizado sé as flags padrão não forem suficientes.

// Definir comando: wp wppoland export_orders
WP_CLI::add_command( 'wppoland export_orders', function( $args, $assoc_args ) {
    $file = fopen( 'encomendas.csv', 'w' );
    fputcsv( $file, ['ID Encomenda', 'Total', 'Cliente'] );

    $orders = wc_get_orders( ['limit' => -1] );
    $progress = \WP_CLI\Utils\make_progress_bar( 'Exportar Encomendas', count( $orders ) );

    foreach ( $orders as $order ) {
        fputcsv( $file, [
            $order->get_id(),
            $order->get_total(),
            $order->get_billing_email()
        ]);
        $progress->tick();
    }
    
    fclose( $file );
    WP_CLI::success( 'Exportacao concluida para encomendas.csv' );
});

#Método 3: A maneira “moderna” (REST API)

Se estiver a construir um dashboard React ou uma app Headless, consome JSON, não CSV. A REST API do WordPress (/wp-json/wp/v2/posts) página os dados por defeito.

Para buscar todos os dados, precisa de escrever uma função JS recursiva que siga o cabeçalho X-WP-TotalPages.

#Porque não bibliotecas excel?

Pode ser tentado a usar uma biblioteca como PhpSpreadsheet para gerar ficheiros .xlsx reais. Não o faça.

  • Pesado na Memória: Gerar um ficheiro Excel requer construir toda a estrutura XML na RAM. Irá falhar em grandes conjuntos de dados.
  • CSV é Universal: O Excel abre ficheiros CSV nativamente. Raramente há necessidade dé um ficheiro binário .xlsx a menos que precise de fórmulas/formatação.

#Resumo

  • Pequenos Dados (< 1.000 linhas): Use streaming PHP para o navegador.
  • Grandes Dados (> 10.000 linhas): Use WP-CLI via ssh.
  • Dados de App: Use JSON REST API.

Os seus dados pertencem-lhe. Certifique-se de que consegue sempre tirá-los.

Exploré os nossos desenvolvimento profissional WordPress para levar o seu projeto mais longe.

Próximo passo

Transforme o artigo numa implementação real

Este bloco reforça a ligação interna e conduz o leitor para o passo seguinte mais útil dentro da arquitetura do site.

Quer implementar isto no seu site?

Se quer transformar o artigo em melhorias concretas, redesign ou num plano de implementação, posso fechar o escopo e executar.

Cluster relacionado

Explorar outros serviços WordPress e base de conhecimento

Reforce o seu negócio com suporte técnico profissional em áreas-chave do ecossistema WordPress.

FAQ do artigo

Perguntas Frequentes

Respostas práticas para aplicar o tema na execução real.

SEO-ready GEO-ready AEO-ready 3 Q&A
Qual é a forma mais segura de exportar grandes volumes de dados?
Para exportações grandes, o mais seguro e rápido costuma ser WP-CLI. No browser, use streams com fputcsv e processamento em lotes para evitar timeouts e erros de memória.
CSV ou XLSX, qual devo escolher?
CSV é normalmenté a melhor opção técnica porque é leve, universal e evita o overhead de bibliotecas XLSX. Só valé a pena usar XLSX se precisar mesmo de formatação avançada.
Posso exportar dados WordPress sem plugin?
Sim. Pode exportar com PHP nativo, WP-CLI ou REST API, dependendo do volume de dados e do fluxo de trabalho pretendido.

Precisa de FAQ adaptado ao setor e mercado? Criamos uma versão alinhada com os seus objetivos de negócio.

Fale connosco

Artigos Relacionados

Aprenda a criar um site staging WordPress, transferir staging para produção com segurança e fazer deploy a partir do desenvolvimento local. Abrange staging no alojamento, plugins, WP-CLI, fluxos de trabalho git e CI/CD com GitHub Actions.
development

Fluxo de trabalho staging WordPress: do desenvolvimento local ao deploy em produção

Aprenda a criar um site staging WordPress, transferir staging para produção com segurança e fazer deploy a partir do desenvolvimento local. Abrange staging no alojamento, plugins, WP-CLI, fluxos de trabalho git e CI/CD com GitHub Actions.

A mudar de site? Não use queries SQL! Um guia abrangente de 1500 palavras sobre Serialização, WP-CLI e estratégias de migração segura.
development

O guia definitivo para migração de base de dados WordPress (edição 2026)

A mudar de site? Não use queries SQL! Um guia abrangente de 1500 palavras sobre Serialização, WP-CLI e estratégias de migração segura.

Saiba quando uma reconstrução de website é necessária. 7 sinais técnicos e de negócio mensuráveis de qué o seu site precisa de modernização em 2026.
wordpress

Quando reconstruir o seu website? 7 sinais de que precisa de modernização

Saiba quando uma reconstrução de website é necessária. 7 sinais técnicos e de negócio mensuráveis de qué o seu site precisa de modernização em 2026.