Der Inhalt dieses Artikels befasst sich mit der Verwendung des Django-Plug-Ins zum Herunterladen von Excel. Ich hoffe, dass er für Freunde hilfreich ist.
Da die meisten aktuellen Informationen mithilfe von Pandas- oder XLWT-Bibliotheken implementiert werden. Tatsächlich ist es nicht so problematisch, da Django über ein entsprechendes Plug-In Django-Excel verfügt.
Dieses Plug-in wird in Abhängigkeit von der Pyexcel-Bibliothek geschrieben. Es besteht jedoch keine Notwendigkeit, die Pyexcel-Bibliothek speziell zu installieren, da Pyexcel bei der Installation von Django-Excel automatisch installiert wird. Da PyExcel eine große Bibliothek ist und Sie bei der Verwendung von Django-Excel nicht darüber nachdenken müssen, wie Sie PyExcel verwenden, werde ich hier nicht zu viel vorstellen. Hier möchte ich noch etwas sagen: Pyexcel ist auch sehr leistungsfähig und kann Datenvisualisierungen realisieren. Derzeit wurden entsprechende Plug-Ins für Web-Frameworks wie Flask und Django entwickelt, beispielsweise das heute vorgestellte Django-Excel.
django-excel ist ein Plug-in, das das Hoch- und Herunterladen von Excel-Dateien unterstützt. Es kann Excel-Dateien in Form von Webseiten anzeigen und Daten in einer Datenbank speichern. Da der Autor mit diesem Plug-In noch nicht vertraut ist und die Entwicklungsanforderungen derzeit nur für die Download-Funktion gelten, wird in diesem Artikel nur die Download-Funktion vorgestellt. (Hinweis: Um die Download-Funktion zu implementieren, muss Office nicht auf dem bereitgestellten Server installiert werden)
pip install django-excel
pyexcel-io und pyexcel wird während der Installation automatisch installiert, pyexcel-webio
unterstützen derzeit Django2.1.1. Daher müssen sich Entwickler, die die neueste Version von Django verwenden, keine Sorgen machen, da diese diese unterstützt.
Das Plug-in unterstützt viele Datenformate, Arrays (zweidimensionale Arrays), Wörterbücher, Datenbanktabellen (einzeln oder mehrfach) und Djangos ORM-Abfrageergebnisse (Query sqt). und so weiter. Dateitypen, die generiert werden können: csv, tsv, csvz, tsvz, xls, xlsx, xlsm, ods.
Paketname
|
Unterstützte Dateiformate | Python Version |
||||||||||||||||||||||||
pyexcel-io |
csv, csvz , tsv, tsvz |
|
||||||||||||||||||||||||
pyexcel-xls |
xls , xlsx(schreibgeschützt), xlsm(schreibgeschützt) |
xlrd, xlwt |
Dasselbe wie oben |
|||||||||||||||||||||||
pyexcel-xlsx |
xlsx |
Dasselbe wie oben |
||||||||||||||||||||||||
pyexcel-ods3 |
ods |
pyexcel-ezodf, lxml |
2.6, 2.7, 3.3, 3.4 3.5, 3.6 |
|||||||||||||||||||||||
pyexcel-ods |
ods |
odfpy |
Dasselbe wie oben |
Die obige Tabelle wird benötigt, um die entsprechenden Dateiformate zu generieren . Tasche.
Wenn Sie ein zweidimensionales Array zum Generieren einer Excel-Datei verwenden möchten, müssen Sie django_excel.make_response_from_array (Name des zweidimensionalen Arrays, generierter Dateityp, Status=200) zurückgeben. Jede Zeile des zweidimensionalen Arrays stellt die entsprechende Zeile in Excel dar.
Wenn Sie ein Wörterbuch zum Generieren von Excel-Dateien verwenden möchten, müssen Sie django_excel.make_response_from_dict (Wörterbuchname, Dateityp, Status=200) zurückgeben. Der Schlüsselname ist der Spaltenname und der Schlüsselwert sind die Daten.
Wenn Sie eine Datenbanktabelle (Tabelle) zum Generieren einer Excel-Datei verwenden möchten, müssen Sie django_excel.make_response_from_a_table (Tabellenname, Dateityp, Status=200)
zurückgebenWenn Sie eine Datenbanktabelle (mehrere Tabellen) zum Generieren einer Excel-Datei verwenden möchten, müssen Sie django_excel.make_response_from_tables (Liste der Tabellennamen, Dateitypstatus=200) zurückgeben.
Wenn Sie möchten Verwenden Sie einen Abfragesatz, um eine Excel-Datei zu generieren. Sie müssen django_excel.make_response_from_query_sets zurückgeben (Name des Abfragesatzes, entsprechendes Feld der erforderlichen Spalte (Listentyp), Dateityp, Status = 200). Die Reihenfolge in der Liste der Felder, die den erforderlichen Spalten entsprechen, entspricht der Reihenfolge der Excel-Spaltennamen, und die Elemente in der Liste müssen Variablennamen im Modell sein.
Zu den gemeinsamen Parametern aller Funktionen gehören Dateiname und Blattname, bei denen es sich um den Dateinamen bzw. den Namen der Excel-Arbeitsmappe handelt.
Beachten Sie, dass unabhängig davon, ob es sich um eine Datenbanktabelle oder einen Abfragesatz handelt, keine Fremdschlüssel enthalten sein dürfen. Andernfalls wird ein Fehler gemeldet und der Download kann nur durch Seitensprünge und nicht durch Ajax-Anforderungen erfolgen, andernfalls wird dies der Fall sein nicht heruntergeladen werden.
z. B.:
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='测试文件')
Das obige ist der detaillierte Inhalt vonSo verwenden Sie das Django-Plug-in zum Herunterladen von Excel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!