2017-10-10 7 views
0

J'utilise actuellement le plugin Excel de TinyButStrong pour créer de nombreux documents Excel qui sont envoyés sur une base planifiée. Il m'a été demandé de diviser les informations dans des feuilles de calcul distinctes, dans un seul document Excel, où chaque rapport pourrait avoir un nombre différent de feuilles de calcul (donc je ne peux pas utiliser plusieurs feuilles dans un fichier modèle car le nombre de feuilles est imprévisible) .Comment fusionner plusieurs documents Excel en utilisant le plugin Excel de Tiny But Strong?

Je peux facilement créer des documents Excel séparés et utiliser une convention de nommage pour identifier les documents Excel à fusionner, mais je ne trouve pas de moyen de fusionner les documents en utilisant TinyButStrong Excel.

REMARQUE: en raison de notre environnement, PHP Excel n'est pas une option. Veuillez me faire savoir si vous connaissez un moyen de fusionner plusieurs documents Exc3el ou de créer par programmation un document Excel avec de nombreuses feuilles de calcul créées à partir d'un seul modèle de feuille de calcul.

Merci.

+0

Bienvenue dans Stack Overflow - c'est bien de vous avoir. Veuillez lire [Comment poser une bonne question?] (Https://stackoverflow.com/help/how-to-ask) et [Comment créer un exemple minimal, complet et vérifiable] (https: // stackoverflow. com/help/mcve) pour aider à garder le contenu de Stack Overflows au niveau le plus élevé possible et augmenter vos chances d'obtenir une réponse appropriée. – Axel

Répondre

1

Pour l'instant, vous ne pouvez pas fusionner plusieurs documents XLSX en un seul. Ceci est dû au fait que malgré la lecture d'une feuille de calcul XML OpenTBS est possible, vous ne pouvez pas simplement copier le fichier XML d'un fichier source XLSX dans un autre fichier cible XLSX car ce code XML utilise plusieurs identifiants internes pour les styles, commentaires, ... Ces identifiants sont stockés dans des endroits compliqués dans les fichiers source XML. Donc une telle copie simple produira un fichier XLSX cible invalide.

Un autre point est que OpenTBS ne peut (pour l'instant) créer une nouvelle feuille de calcul dans un XLSX. Il ne peut que modifier, supprimer ou masquer une feuille de calcul existante dans le modèle. Donc, la solution à votre problème est d'avoir un fichier modèle XLSX contenant toutes les feuilles de travail possibles que vous pourriez avoir dans le fichier XLSX final. Ensuite, vous pouvez fusionner les feuilles de calcul souhaitées (en utilisant OPENTBS_SELECT_SHEET) et supprimer les feuilles de travail indésirables (en utilisant OPENTBS_DELETE_SHEETS).

+0

Merci! Cela m'aide avec un problème similaire ... Je souhaite encore OpenTBS pourrait créer plusieurs feuilles de calcul dans XLSX :) – AAA

+0

Merci. J'essaie cela et maintenant je rencontre un problème de fusion de plusieurs blocs. Lorsque j'essaie des instructions MergeBlock distinctes comme suit: $ TBS-> MergeBlock ('b1', $ block_b1); $ TBS-> MergeBlock ('b2', $ block_b2); ... les résultats ignorent tout sauf le premier bloc. Je vois des notes sur la fusion de plusieurs blocs, mais en utilisant les mêmes données dans chaque: $ TBS-> MergeBlock ('b1, b2, b3', block_data_used_in_each de $); ... mais rien dans les documents TBS sur la façon de fusionner des tableaux différents dans chaque bloc. –