Nous essayons de créer un tableau de bord Excel par défaut que nos utilisateurs peuvent télécharger. Lors du téléchargement de la feuille Excel, nous voulons remplir une feuille dans le fichier avec leurs données.Impossible d'enregistrer la feuille Excel après l'ajout de données si le classeur contient une table pivotante
Nous utilisons EPPlus pour la manipulation de la feuille Excel.
En bref, la structure de la feuille est la suivante:
Sheet A
avec des éléments d'information (tableaux de pivotement, les arbres de pivotement et trancheuses)Sheet B
qui contient l'ensemble des données- A nommé plage définie comme
=OFFSET(Data!$A$1;0;0;COUNTA(Data!$A:$A);COUNTA(Data!$1:$1))
qui s'adapte simplement à la taille de l'ensemble de données que nous insérons dans cette feuille - Quelle que soit la plage nommée contient j'ai chargé dans Power Query et ajouté aux classeurs Data Model
- Tous les éléments de reporting de
Sheet A
est configuré pour charger des données à partir du modèle de données
Dans l'ensemble, cela fonctionne très bien aussi longtemps que nous bourrer manuellement Sheet B
avec nos données. Lorsque nous essayons d'utiliser EPPlus pour remplir les données que nous obtenons une erreur lorsque vous essayez d'enregistrer le fichier:
The cachesource is not a worksheet
Par tâtonnement, nous avons dépouillé la feuille de ses parties pour isoler la cause du problème . Nous avons soupçonné que cela aurait pu être les trancheurs, l'utilisation de Power Query/Data Model ou l'astuce avec la plage nommée. Cependant, aucun de ces problèmes ne semble être le problème: si nous supprimons tous les tableaux croisés dynamiques de la feuille, nous pouvons sauvegarder le classeur. Surprenant pour moi, nous sommes en mesure d'utiliser très bien les tableaux croisés dynamiques, ce sont seulement les tableaux qui causent le problème.
Des suggestions sur la façon d'éviter ce problème avec EPPlus? Pour l'instant, nous avons continué sans l'utilisation de tableaux croisés dynamiques nous aimerions les faire revenir à un moment donné :)
Basé sur https://github.com/pruiz/EPPlus/blob/master/EPPlus/Table/PivotTable/ExcelPivotCacheDefinition.cs (et le message d'erreur) avez-vous essayé d'avoir la cachesource comme feuille de calcul? – mjwills
Pour être honnête, je n'ai pas la moindre idée de ce que cela signifie ou comment le faire :) –
@mjwills J'ai googlé un peu et trouvé quelques astuces pour désactiver le cache de tableau croisé dynamique. Je ne trouve rien à propos de changer le type de cache n'importe où. L'astuce devrait être de décocher les « données source Enregistrer avec le fichier » mais cette option semble être grisés dans notre cas lorsque le tableau croisé dynamique chargement du modèle de données. –