Convertire i report HTML in fogli di calcolo Excel è una necessità frequente per le applicazioni aziendali basate su PHP‑based che devono esportare dati per l’analisi o la revisione offline. GroupDocs.Conversion Cloud SDK for PHP offre un’API affidabile che gestisce il lavoro pesante di rendering dell’HTML e generazione di file XLSX. In questo tutorial imparerai come eseguire la conversione da HTML a XLSX in PHP, mettere in sicurezza il processo e ottimizzare le prestazioni per documenti di grandi dimensioni.

Passaggi per la conversione da HTML a XLSX in PHP

  1. Crea un client API di Conversione - Inizializza la classe ConversionApi con le tue credenziali client.
    • Esempio: new \GroupDocs\Conversion\ConversionApi($config);
    • Consulta il Riferimento API per i dettagli della classe.
  2. Carica il file sorgente HTML - Utilizza l’endpoint UploadFile per inviare il documento HTML allo storage di GroupDocs.
  3. Configura le opzioni di conversione - Imposta il formato di output su XLSX e, opzionalmente, regola la dimensione della pagina, il nome del foglio di lavoro o le impostazioni di estrazione dei dati.
  4. Esegui la conversione - Chiama ConvertDocument con l’ID del file sorgente e le opzioni configurate.
  5. Scarica il risultato XLSX - Recupera il file generato dall’URL di risposta o dalla posizione di storage.

Conversione da HTML a XLSX con GroupDocs - Esempio di codice completo

Il seguente esempio dimostra un flusso di conversione completo end‑to‑end, dall’autenticazione al download del file.

Questo esempio dimostra come convertire un file HTML in XLSX utilizzando il GroupDocs.Conversion Cloud SDK for PHP.

<?php
require 'vendor/autoload.php';

use GroupDocs\Conversion\Configuration;
use GroupDocs\Conversion\Api\ConversionApi;
use GroupDocs\Conversion\Model\Requests\ConvertDocumentRequest;

// Replace with your actual credentials
$clientId = 'YOUR_CLIENT_ID';
$clientSecret = 'YOUR_CLIENT_SECRET';

// Configure the SDK
$config = new Configuration();
$config->setAppSid($clientId);
$config->setAppKey($clientSecret);

// Create API instance
$apiInstance = new ConversionApi($config);

// Paths to local files (can be absolute or relative)
$sourcePath = 'sample.html';
$targetPath = 'output.xlsx';

// Prepare conversion request
$request = new ConvertDocumentRequest(
    $sourcePath,          // Path to the source HTML file
    'XLSX',               // Desired output format
    null,                 // Optional conversion options (null for defaults)
    $targetPath           // Path where the XLSX will be saved
);

try {
    // Perform conversion
    $apiInstance->convertDocument($request);
    echo "Conversion successful. XLSX saved to {$targetPath}\n";
} catch (Exception $e) {
    echo 'Conversion failed: ', $e->getMessage(), "\n";
}
?>

Nota: Questo esempio di codice dimostra la funzionalità principale. Prima di usarlo nel tuo progetto, assicurati di aggiornare i percorsi dei file (sample.html, output.xlsx), verifica che tutte le dipendenze richieste siano installate correttamente e testa accuratamente nell’ambiente di sviluppo. Se riscontri problemi, consulta la documentazione ufficiale o contatta il team di supporto per assistenza.

Conversione da HTML a XLSX basata su cloud tramite REST API usando cURL

È inoltre possibile eseguire la conversione direttamente tramite chiamate REST. Di seguito sono riportati i comandi cURL necessari.

Innanzitutto, ottieni un token di accesso utilizzando le credenziali del client.

curl -X POST "https://api.groupdocs.cloud/v1.0/oauth/token" \
     -H "Content-Type: application/json" \
     -d '{"grant_type":"client_credentials","client_id":"YOUR_CLIENT_ID","client_secret":"YOUR_CLIENT_SECRET"}'

Carica il file HTML nel punto finale di archiviazione.

curl -X POST "https://api.groupdocs.cloud/v1.0/storage/upload" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -F "file=@sample.html"

Richiedi la conversione in XLSX.

curl -X POST "https://api.groupdocs.cloud/v1.0/conversion/convert" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
           "inputPath": "sample.html",
           "outputPath": "output.xlsx",
           "outputFormat": "XLSX"
         }'

Scarica il file convertito.

curl -X GET "https://api.groupdocs.cloud/v1.0/storage/download?path=output.xlsx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o output.xlsx

Per ulteriori dettagli sui parametri della richiesta, consulta la documentazione API ufficiale.

Installazione e Configurazione in PHP

  1. Installa l’SDK tramite Composer:
    composer require groupdocs-conversion-cloud
    
  2. Verifica l’installazione controllando la directory vendor.
  3. Ottieni il tuo Client ID e Client Secret dal portale GroupDocs.
  4. (Opzionale) Scarica manualmente l’ultimo pacchetto dall’URL di download.
  5. Assicurati che la tua versione di PHP soddisfi i requisiti dell’SDK (PHP 7.4+).

Tutorial di conversione da HTML a XLSX in PHP con GroupDocs.Conversion

GroupDocs.Conversion Cloud fornisce un’API unificata che astrae la logica specifica dei formati. Quando invii un documento HTML, il servizio analizza il markup, rende le tabelle, gli stili e le immagini incorporate, quindi li mappa in fogli di lavoro Excel. Questo approccio elimina la necessità di parser di terze parti o della generazione manuale di CSV, fornendo una rappresentazione fedele del foglio di calcolo del layout HTML originale.

Caratteristiche di GroupDocs.Conversion

  • Formati di input multipli - HTML, DOCX, PDF, e altro.
  • Rendering ad alta fedeltà - Preserva lo stile CSS, le celle unite e le immagini.
  • Elaborazione cloud scalabile - Gestisce file di grandi dimensioni senza vincoli di risorse locali.
  • Gestione sicura dei dati - Tutto il traffico è crittografato e i file sono archiviati temporaneamente.
  • Opzioni estensibili - Controlla il nome del foglio di lavoro, le larghezze delle colonne e le modalità di estrazione dei dati.

Ottimizzazione delle prestazioni per la conversione da HTML a XLSX in PHP

Durante la conversione di grandi report HTML, considerare i seguenti suggerimenti:

Dimensione HTMLTempo medio di conversioneUtilizzo di memoria massimo
100 KB0.8 s45 MB
500 KB2.4 s120 MB
1 MB4.9 s210 MB

Raccomandazioni

  • Dividi grandi HTML in sezioni e convertili sequenzialmente.
  • Abilita lo streaming impostando useStreaming=true nelle opzioni della richiesta.
  • Riutilizza il client API per più conversioni per evitare il sovraccarico di autenticazione ripetuta.

Queste pratiche migliorano le prestazioni di conversione da HTML a XLSX in PHP e riducono la pressione sulla memoria del tuo server.

Best practice di sicurezza per la conversione da HTML a XLSX

  • Memorizza le credenziali in modo sicuro - Usa variabili d’ambiente o un gestore di segreti invece di inserirle direttamente nel codice.
  • Convalida l’input HTML - Rimuovi script potenzialmente pericolosi o risorse esterne prima del caricamento.
  • Usa HTTPS - Tutti gli endpoint API richiedono TLS 1.2 o versioni successive.
  • Applica permessi con il principio del minimo privilegio - Concedi all’SDK solo gli ambiti di archiviazione di cui ha bisogno.
  • Monitora l’utilizzo - Abilita i log di audit nel portale GroupDocs per tracciare l’attività di conversione.

Conclusione

La conversione da HTML a XLSX in PHP diventa semplice con il GroupDocs.Conversion Cloud SDK for PHP. Seguendo i passaggi, gli esempi di codice e le linee guida di sicurezza presentati qui, è possibile generare in modo affidabile file Excel da contenuti HTML ricchi, sia che si esegua il processo on‑premises o nel cloud. Per le distribuzioni in produzione, ottieni una licenza adeguata tramite la pagina della licenza temporanea o esplora le opzioni di prezzo complete sul sito del prodotto.

FAQ

Come gestisco file HTML di grandi dimensioni durante la conversione da HTML a XLSX in PHP?
Dividi il documento in frammenti più piccoli, utilizza l’opzione di streaming e processa ogni frammento in sequenza. Il flag useStreaming dell’SDK riduce l’utilizzo della memoria e accelera la conversione.

Qual è il modo consigliato per proteggere le credenziali API per la conversione da HTML a XLSX in PHP?
Memorizza YOUR_CLIENT_ID e YOUR_CLIENT_SECRET in variabili d’ambiente o in un vault segreto, e non inserirli mai nel controllo del codice sorgente. L’SDK legge questi valori a runtime.

Posso eseguire la conversione da HTML a XLSX su Azure Functions o AWS Lambda?
Sì. L’API cloud funziona da qualsiasi ambiente in grado di effettuare richieste HTTPS, inclusi le piattaforme serverless di Azure e AWS. Basta includere l’SDK tramite Composer e configurare l’URL del endpoint se necessario.

C’è un modo per convertire HTML in XLSX senza scrivere codice di parsing personalizzato?
Assolutamente. Il metodo ConvertDocument dell’SDK astrae tutta la logica di parsing e mapping, consentendoti di convertire con una singola chiamata API.

Leggi di più