django使用外掛程式下載excel的方法
這篇文章帶給大家的內容是關於django使用外掛程式下載excel的方法,有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
由於目前的資料多是使用pandas或xlwt函式庫實現的。其實沒有那麼的麻煩,因為django有相對應的插件django-excel。
該插件是依賴pyexcel庫寫的。不過,不用專門安裝pyexcel庫,因為在安裝django-excel時會自動將pyexcel裝上。由於pyexcel是一個大函式庫,使用django-excel時不用考慮pyexcel的使用方法,所以就不再這個介紹太多了。在此,還是要多說一句,pyexcel的功能也是很強大的,可以實現資料的可視化,目前已開發出了與flask、django等web框架的對應插件,例如今天介紹的django-excel。
django-excel是支援上傳和下載excel檔案的插件,並且可以將excel檔案以網頁的形式展現出來,也可以將資料存入資料庫。由於,筆者也是剛接觸該插件,而且開發需求目前僅為下載功能,所以本篇只介紹其下載的功能。 (註:實作下載功能,部署的伺服器不需要安裝office)
1、 安裝
pip install django-excel
##安裝時會自動安裝py-io、pyexcel 、pyexcel-webio2、支援django的版本目前已支援到django2.1.1版本。所以,使用目前django最新版的開發者也不用擔心了,因為它支援。 3、 實作下載該外掛支援的資料格式很多,array(二維陣列)、字典、資料庫的表(單張或多張)、django的ORM查詢結果( query sqt)等等。可以產生的檔案類型:csv、tsv、csvz、tsvz、xls、xlsx、xlsm、ods。套件名稱 |
#支援的檔案格式 |
#依賴 |
#Python#版本 |
pyexcel-io |
#csv, csvz , tsv, tsvz |
2.6, 2.7, 3.3, 3.4, 3.5, 3.6 pypy | |
pyexcel-xls |
#xls, xlsx(唯讀), xlsm(唯讀) |
#xlrd, xlwt |
#同上 |
pyexcel-xlsx |
xlsx | #openpyxl |
|
上表是產生對應檔案格式所需安裝的包。
如果要使用二維陣列來產生excel文件,則需return django_excel.make_response_from_array(二維陣列名, 產生的文件類型, status=200)。二維數組每一行代表Excel中對應的行。
若要使用字典產生excel文件,需要return django_excel.make_response_from_dict(字典名, 文件類型, status=200)。鍵名為列名,鍵值為資料。
如果想要使用資料庫的表格(單張)產生excel文件,則需return django_excel.make_response_from_a_table(表名, 文件類型, status=200)
如果想要使用資料庫的表格(多張)產生excel文件,則需return django_excel.make_response_from_tables(表格名稱清單, 文件類型status=200)
如果想要使用查詢集合產生excel文件,則需return django_excel.make_response_from_query_sets(查詢集合名, 所需列對應欄位(清單類型),檔案類型, status=200)。所需列對應欄位的列表裡的順序為Excel列名的順序,且列表裡的元素必須為model裡的變數名稱。
所有函數的通用參數包含file_name 和sheet_name,分別為檔案名稱和Excel的工作薄名。
注意,不論是資料庫表還是查詢集合,都不能包含外鍵否則會報錯,而且只能透過頁面的跳躍實現下載,不能透過ajax請求,否則不會下載。
eg:
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='测试文件')
以上是django使用外掛程式下載excel的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

查看django版本步驟:1、開啟終端機或命令提示字元視窗;2、確保已經安裝了Django,如果沒有安裝Django,可以使用套件管理工具來進行安裝,輸入pip install django命令即可;3、安裝完成後,可以使用python -m django --version來查看Django的版本。

Django和Flask都是PythonWeb框架中的佼佼者,它們都有著自己的優點和適用場景。本文將對這兩個框架進行比較分析,並提供具體的程式碼範例。開發簡介Django是一個全功能的Web框架,它的主要目的是為了快速開發複雜的Web應用。 Django提供了許多內建的功能,例如ORM(物件關聯映射)、表單、認證、管理後台等。這些功能使得Django在處理大型

Django是一個完整的開發框架,該框架涵蓋了Web開發生命週期的各個方面。目前,這個框架是全球最受歡迎的Web框架之一。如果你打算使用Django來建立自己的Web應用程序,那麼你需要了解Django框架的優點和缺點。以下是您需要知道的一切,包括具體程式碼範例。 Django優點:1.快速開發-Djang可以快速開發Web應用程式。它提供了豐富的庫和內

查看django版本的方法:1、透過命令列查看,在終端機或命令列視窗中輸入「python -m django --version」命令;2、在Python互動式環境中查看,輸入「import django print(django. get_version())」代碼;3、檢查Django專案的設定文件,找到名為INSTALLED_APPS的列表,其中包含已安裝的應用程式資訊。

差異是:1、Django 1.x系列:這是Django的早期版本,包括1.0、1.1、1.2、1.3、1.4、1.5、1.6、1.7、1.8和1.9等版本。這些版本主要提供基本的Web開發功能;2、Django 2.x系列:這是Django的中期版本,包括2.0、2.1、2.2等版本;3、Django 3.x系列:這是Django的最新版本系列,包括3.0、3等版本。

如何升級Django版本:步驟和注意事項,需要具體程式碼範例引言:Django是一個功能強大的PythonWeb框架,它持續地進行更新和升級,以提供更好的效能和更多的功能。然而,對於使用較舊版Django的開發者來說,升級Django可能會面臨一些挑戰。本文將介紹如何升級Django版本的步驟和注意事項,並提供具體的程式碼範例。一、備份項目檔案在升級Djan

django是後端。詳細介紹:儘管Django主要是後端框架,但它與前端開發密切相關。透過Django的模板引擎、靜態檔案管理和RESTful API等功能,前端開發人員可以與後端開發人員合作,共同建立功能強大、可擴展的Web應用程式。

Django、Flask和FastAPI:哪個框架適合初學者?引言:在Web應用開發領域,有許多優秀的Python框架可供選擇。本文將聚焦在Django、Flask和FastAPI這三款最受歡迎的框架。我們將評估它們的特點,並討論哪個框架最適合初學者使用。同時,我們也將提供一些具體的程式碼範例,以幫助初學者更好地理解這幾個框架。一、Django:Django
