2009-12-15 1 views
1

récemment, j'ai été dans la combinaison de plusieurs feuilles de calcul OpenXML via PHPExcel qui m'a montré que ce cadre a certains problèmes qui le rend pratiquement inutilisable pour ce que je veux faire (my related SO question).(OpenXML) Ajouter des pages de données au package xml sans cadre

Pour faire court: il est difficile de garantir que toutes les fonctionnalités de mise en forme d'Excel 2007 vont persister une fusion de fichiers effectuée avec ce cadre particulier.

De toute façon, maintenant je pense à une approche plus générale. Je veux ouvrir un modèle XLSX qui contient diverses mise en forme et ajouter des feuilles de calcul de données alphanumériques "à la fin" du classeur.

Est-sensefully possible de faire ce qui suit:

  • modèle dézipper XLSX
  • analyse des fichiers XML
  • ajouter des feuilles de calcul
  • enregistrer des fichiers xml
  • fichiers rezip pour obtenir valuid XLSX

Tous les conseils ou les expériences seraient très apprécié.

merci à l'avance

K

+0

@ KB22: quand vous dites "sans cadre", que voulez-vous dire? Sans .NET? Sans OpenXML SDK 2.0? –

Répondre

1

Je n'ai pas travaillé avec .xlsx trop, mais j'ai modifié les fichiers .docx en ajoutant manuellement et éditer le XML. La plus grande préoccupation avec l'ajout de nouvelles pièces à un document est de s'assurer que vous mettez à jour les fichiers .rels. La meilleure façon de déterminer ce qui doit être mis à jour est de créer un nouveau document .xlsx dans Excel, d'ajouter une feuille de calcul, de sauvegarder le fichier, puis de le décompresser pour voir ce qui a changé. Vous pouvez également utiliser l'outil DocumentReflector fourni avec OpenXML SDK si vous souhaitez afficher les éléments internes du fichier sans avoir à le décompresser.

J'ai trouvé le OpenXML reference manual très utile lors de l'édition manuelle de fichiers car il vous indique quels éléments vous devez conserver et quels éléments sont facultatifs pour faire un document valide. Il est plus facile de travailler avec lorsque vous pouvez supprimer certains des éléments externes qu'Excel ajoute automatiquement.