L'exportation au format xls en utilisant angularjs
Je suis en train de travailler sur angular js application et je l'ai coincé dans une situation où je dois exporter des données au format Xls en utilisant angular js. J'ai beaucoup cherché sur internet pour la fonctionnalité d'exportation ou de n'importe quelle bibliothèque pour angular js donc je peux le faire ou, au moins, je peux avoir l'idée de la façon dont à l'exportation. Je n'ai pas de code ou de travail à montrer ici.
J'ai besoin de conseils. Merci de m'aider sur ce point.
Merci d'avance.
Mise à jour:
J'ai une donnée qui est un tableau d'objets et je suis itération que sur l'INTERFACE utilisateur dans une table. Mon backend est node.js et frontend sont angular js.
Mon problème est que si nous avons les données à partir du serveur et je l'utilise sur l'INTERFACE utilisateur, comment puis-je utiliser les mêmes données pour l'exportation au format Xls en utilisant angular js. Je ne veux pas donner un appel sur le backend pour extraire les données et de les exporter que.
Dans le tableau existant, l'utilisateur peut sélectionner la case à cocher (n'Importe quel nombre de lignes ou de toutes les lignes) pour extraire les données au format Xls.
Dans node.js j'ai utilisé nœud module dont le nom est: Excel et il est disponible sur nodemodules site.
Mes données est comme ça:
"data": [
{
"Name": "ANC101",
"Date": "10/02/2014",
"Terms": ["samsung", "nokia": "apple"]
},{
"Name": "ABC102",
"Date": "10/02/2014",
"Terms": ["motrolla", "nokia": "iPhone"]
}
]
Je veux la solution en utilisant angularjs ou tout angularjs bibliothèque.
- Quelle est la question? À partir de ce que je lis vous savez comment faire de l'exportation, correct? Si vous savez comment le faire à l'exportation qu'est-ce que vous devez savoir à partir d'un AngularJS perspective de recevoir votre tâche?
- merci de montrer votre intérêt pour cette question. Je m mise à jour de ma ques.
- Je crois que la seule façon de le faire est de faire un appel vers le serveur. JavaScript (sur le front-end au moins) n'a pas les capacités pour faire ce genre de chose.
Vous devez vous connecter pour publier un commentaire.
Un bon moyen pour ce faire est d'utiliser Angulaire pour générer un
<table>
et l'utilisation FileSaver.js à la sortie de la table comme une .fichier xls pour l'utilisateur à télécharger. Excel sera en mesure d'ouvrir la table HTML comme une feuille de calcul.Appel d'Export:
Démo: http://jsfiddle.net/TheSharpieOne/XNVj3/1/
Mise à jour de la démo avec le case de la fonctionnalité et de la question des données.
Démonstration: http://jsfiddle.net/TheSharpieOne/XNVj3/3/
style
attribut) sur la<td>
et il sera affiché dans excel. Vous pouvez également utiliser<b>
/<strong>
/<i>
balises. Voir jsfiddle.net/TheSharpieOne/XNVj3/303xls
àxlsx
dans lesaveAs
appel.Vous pouvez essayer Alasql bibliothèque JavaScript qui peuvent travailler de concert avec XLSX.js bibliothèque pour l'exportation facile de Angular.js les données. Ceci est un exemple de contrôleur avec exportData() fonction:
Voir plein de code HTML et JavaScript pour cet exemple dans jsFiddle.
Mis à JOUR un Autre exemple avec la coloration des cellules.
Aussi, vous devez inclure deux bibliothèques:
Quand j'ai besoin de quelque chose de semblable, ng-csv et d'autres solutions ici n'a pas complètement de l'aide. Mes données dans $champ d'application et il n'y avait pas de tables de le montrer. Donc, j'ai construit une directive à l'exportation de données vers Excel à l'aide Sheet.js (xslsx.js) et FileSaver.js.
Voici ma solution emballé.
Par exemple, les données sont:
J'ai eu à préparer les données en tant que tableau de tableaux pour mon directive dans mon controller:
Enfin, ajouter la directive à mon modèle. Il montre un bouton. (Voir le violon).
Si vous chargez vos données en ng-grille, vous pouvez utiliser le plugin d'export CSV. Le plugin crée un bouton avec la grille des données au format csv à l'intérieur d'une balise href.
http://angular-ui.github.io/ng-grid/
https://github.com/angular-ui/ng-grid/blob/2.x/plugins/ng-grid-csv-export.js
Mettre à jour les liens que la bibliothèque fut renommé:
Github lien:
https://github.com/angular-ui/ui-grid
La page de la bibliothèque: http://ui-grid.info/
De la Documentation sur l'export csv : http://ui-grid.info/docs/#/tutorial/206_exporting_data
Un point de départ pourrait être d'utiliser cette directive (ng-csv) il suffit de télécharger le fichier au format csv et c'est quelque chose que excel peut comprendre
http://ngmodules.org/modules/ng-csv
Peut-être que vous pouvez adapter ce code (lien mis à jour):
http://jsfiddle.net/Sourabh_/5ups6z84/2/
Bien qu'il semble feuille de calcul xml (il vous avertit avant d'ouvrir le fichier si vous choisissez d'ouvrir le fichier il s'ouvrira correctement)
Essayer ci-dessous personnalisé avec nom de fichier:
J'ai eu ce problème et j'ai fait un outil pour exporter un tableau HTML dans un fichier CSV. Le problème que j'avais avec FileSaver.js c'est que cet outil attrape la table avec format html, c'est pourquoi certaines personnes ne pouvez pas ouvrir le fichier dans excel ou google.
Tout ce que vous avez à faire est d'exporter le fichier js et ensuite appeler la fonction.
C'est le github url https://github.com/snake404/tableToCSV si quelqu'un a le même problème.
Nous avons besoin d'un fichier JSON dont nous avons besoin pour l'exportation dans le contrôleur de angularjs et nous devrions être en mesure d'appeler à partir du fichier HTML. Nous allons regarder les deux. Mais avant de commencer, nous devons d'abord ajouter deux fichiers dans notre angulaire de la bibliothèque. Ces deux fichiers sont json-export-excel.js et filesaver.js. En outre, nous avons besoin d'inclure la dépendance dans le module angulaire. Si les deux premières étapes peuvent être résumées comme suit -
1) Ajouter json-export.js et filesaver.js dans votre angulaire de la bibliothèque.
2) Comprennent la dépendance de ngJsonExportExcel dans votre angulaire module.
Maintenant que nous avons inclus les fichiers nécessaires nous pouvons nous déplacer sur les modifications qui doivent être apportées dans le fichier HTML et le contrôleur. Nous supposons que json est en cours de création sur le contrôleur soit manuellement, soit en faisant un appel en arrière-plan.
HTML :
Dans l'application, j'ai travaillé, j'ai apporté paginé résultats depuis le backend. Donc, j'avais deux options pour l'exportation vers excel. Un pour la page en cours et l'autre pour toutes les données. Une fois que l'utilisateur sélectionne une option, un appel au contrôleur qui prépare un json (liste). Chaque objet dans la liste constitue une ligne dans excel.
Lire plus à https://www.oodlestechnologies.com/blogs/Export-to-excel-using-AngularJS