Domanda

Devo sostituire le variabili all'interno di un file XLSX richiesto dall'utente e lo sto facendo in questo modo:

  1. Rinominare .xlsx a .zip
  2. Decomprimere
  3. Apportare le modifiche necessarie
  4. Zip i file
  5. Rinominare .zip in .xslx

Sto usando la semplice ziparchive in PHP. Quando provo ad aprire .xlsx generato in Excel, non riesce con un messaggio format or extension invalid. Quando comprometto i file temporanei con Winrar (come zip) e rinominisco il file risultante in .xlsx, funziona. I file ZIP generati con entrambi i metodi contengono la stessa struttura e file dei dati, ma il file Winrar è leggermente più grande (10,2k vs. 10,3k con compressione normale).

Quando ho visualizzato il codice confuso dei file, ho potuto vedere che i file compaiono in un ordine diverso, ma non so se questa è la causa. Qualsiasi indizio sarebbe molto apprezzato.

È stato utile?

Soluzione

L'ho fatto funzionare con un altro componente, pclZip (phpconcept.net/pclzip). È una classe che apparentemente utilizza GZIP e la ridenominazione delle sue uscite a .xlsx va bene con Excel 2007.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top