2017-06-29 1 views
1

J'ai regardé autour pendant un jour ou deux et j'ai le sentiment que la réponse sera un simple 'non' à ma question, mais ça vaut le coup d'essayer:Exporter des données pour exceler avec un tableau croisé dynamique - sans accès au serveur

Est-il possible d'exporter des données (JSON) vers un fichier Excel (xls, xml, xlsx ou tout autre qui est capable d'afficher des tableaux croisés dynamiques) qui affichera et affichera les fonctions et tableaux croisés sans avoir accès au côté serveur?

Les circonstances sont les suivantes: un site SharePoint contient toutes les données dans des listes qui sont ensuite rassemblées et affichées en utilisant AngularJS. J'ai trouvé PivotTableJS, ALASQL, FileSaver et de telles bibliothèques/addons, mais je ne pouvais pas le faire fonctionner. Est-il même possible ou mon intuition est-elle juste que cela ne fonctionnera pas sans accès au serveur?

Répondre

0

En supposant que je comprends correctement votre question, c'est-à-dire que vous souhaitiez exporter un fichier de votre application angulaire contenant les données de l'application, et d'un format qu'Excel peut ouvrir. Quand il s'ouvre dans Excel, un tableau croisé dynamique est immédiatement disponible pour que l'utilisateur puisse faire pivoter les données dans le fichier. La seule façon que je peux voir pour faire ceci serait de prendre un fichier excel existant avec un tableau pivotant déjà installé dedans, et puis simplement remplacer les données dans les feuilles appropriées que les références de pivot. L'enregistrer ce fichier sur la machine du client lorsque demandé. This projet peut aider à insérer les données dans l'application angulaire, mais je ne l'ai jamais utilisé. Bonne chance.

+0

Désolé de ne pas être suffisamment clair, mais vous l'avez bien compris! Déjà essayé ExcelJS sans succès, mais j'aime l'approche que vous proposez. Je vais essayer et vous revenir avec le résultat demain. Merci! –

+0

Eh bien, cela n'a pas fonctionné (impossible de charger des données sur un tableau pivotant prédéfini), bien que notre projet ait été orienté vers d'autres directions, je vais donc revenir sur le sujet dans quelques jours/semaines c'est possible ou pas –

+0

De vraies idées à distance. 1. Que faire si les données sont dans "Sheet1", puis créer un tableau croisé dynamique à partir de là dans "Sheet2". Via Excel JS, mettez à jour les données dans sheet1, puis déclenchez une actualisation sur le tableau croisé dynamique, soit via ExcelJS, soit via un code macro/interop interne lorsqu'il est chargé par Excel. Cela suppose que les données restent la même forme. 2. Charger des données à la page avec ExcelJS, ajouter une certaine syntaxe à une cellule quelque part pour décrire les données. Utilisez les métadonnées de la cellule dans un code de macro/d'interopérabilité de démarrage pour créer le pivot en charge. Horrible mais une idée .. – OrdinaryOrange