Maison > Article > développement back-end > Comment utiliser le plug-in Django pour télécharger Excel
Le contenu de cet article concerne la méthode d'utilisation du plug-in Django pour télécharger Excel. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
Étant donné que la plupart des informations actuelles sont implémentées à l'aide de bibliothèques pandas ou xlwt. En fait, ce n'est pas si gênant, car Django a un plug-in Django-Excel correspondant.
Ce plug-in est écrit en fonction de la bibliothèque pyexcel. Cependant, il n'est pas nécessaire d'installer spécifiquement la bibliothèque pyexcel, car pyexcel sera installé automatiquement lors de l'installation de Django-Excel. Étant donné que pyexcel est une grande bibliothèque et que vous n'avez pas besoin de réfléchir à la façon d'utiliser pyexcel lorsque vous utilisez django-excel, je n'en présenterai pas trop ici. Ici, je voudrais dire encore une chose, pyexcel est également très puissant et peut réaliser la visualisation de données. Actuellement, des plug-ins correspondants pour les frameworks Web tels que flask et django ont été développés, comme le django-excel introduit aujourd'hui.
django-excel est un plug-in qui prend en charge le téléchargement et le téléchargement de fichiers Excel. Il peut afficher des fichiers Excel sous forme de pages Web et stocker des données dans la base de données. Étant donné que l'auteur est nouveau dans ce plug-in et que les exigences de développement concernent actuellement uniquement la fonction de téléchargement, cet article présente uniquement sa fonction de téléchargement. (Remarque : pour implémenter la fonction de téléchargement, le serveur déployé n'a pas besoin d'installer Office)
pip install django-excel
pyexcel-io et pyexcel. sera automatiquement installé lors de l'installation, pyexcel-webio
prennent actuellement en charge Django2.1.1. Par conséquent, les développeurs utilisant la dernière version de Django n’ont pas à s’inquiéter, car elle la prend en charge.
Le plug-in prend en charge de nombreux formats de données, tableau (tableau bidimensionnel), dictionnaire, table de base de données (simple ou multiple), résultats de requête ORM de Django (query sqt) et ainsi de suite. Types de fichiers pouvant être générés : csv, tsv, csvz, tsvz, xls, xlsx, xlsm, ods.
Nom du package
|
Formats de fichiers pris en charge | Python Version |
||||||||||||||||||||||||
pyexcel-io |
csv, csvz , tsv, tsvz |
|
||||||||||||||||||||||||
pyexcel-xls |
xls , xlsx (lecture seule), xlsm (lecture seule) |
xlrd, xlwt |
Idem que ci-dessus |
|||||||||||||||||||||||
pyexcel-xlsx |
xlsx |
openpyxl |
Identique à ci-dessus |
|||||||||||||||||||||||
pyexcel-ods3 |
ods |
pyexcel-ezodf, lxml |
2.6, 2.7, 3.3, 3.4 3.5, 3.6 |
|||||||||||||||||||||||
pyexcel-ods |
ods |
odfpy |
Idem que ci-dessus |
Le tableau ci-dessus est requis pour générer le format de fichier correspondant . Sac.
Si vous souhaitez utiliser un tableau bidimensionnel pour générer un fichier Excel, vous devez renvoyer django_excel.make_response_from_array (nom du tableau bidimensionnel, type de fichier généré, statut=200). Chaque ligne du tableau bidimensionnel représente la ligne correspondante dans Excel.
Si vous souhaitez utiliser un dictionnaire pour générer des fichiers Excel, vous devez renvoyer django_excel.make_response_from_dict (nom du dictionnaire, type de fichier, status=200). Le nom de la clé est le nom de la colonne et la valeur de la clé est les données.
Si vous souhaitez utiliser une table (feuille) de base de données pour générer un fichier Excel, vous devez renvoyer django_excel.make_response_from_a_table (nom de la table, type de fichier, status=200)
Si vous souhaitez utiliser des tables de base de données (plusieurs tables) pour générer des fichiers Excel, vous devez renvoyer django_excel.make_response_from_tables (liste des noms de tables, type de fichier status=200)
Si vous souhaitez utiliser une requête sets pour générer des fichiers Excel, vous devez renvoyer django_excel.make_response_from_query_sets (nom de l'ensemble de requêtes, champ correspondant de la colonne obligatoire (type de liste), type de fichier, statut = 200). L'ordre dans la liste des champs correspondant aux colonnes obligatoires est l'ordre des noms de colonnes Excel, et les éléments de la liste doivent être des noms de variables dans le modèle.
Les paramètres communs à toutes les fonctions incluent file_name et sheet_name, qui sont respectivement le nom du fichier et le nom du classeur Excel.
Notez que qu'il s'agisse d'une table de base de données ou d'un ensemble de requêtes, elle ne peut pas contenir de clés étrangères, sinon une erreur sera signalée et le téléchargement ne peut être effectué que par des sauts de page, pas par des requêtes ajax, sinon il le fera ne soit pas téléchargé.
par exemple :
models.py
class django_test_1(models.Model): abc = models.CharField(max_length=20,db_column='测试')
views.py
import django_excel as excel def download_excel(request): data_excel =django_test_1.objects.all() column_names = ["abc"] return excel.make_response_from_query_sets(data_excel,column_names, "xlsx",status = 200 ,sheet_name='测试',file_name='测试文件')
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!