django進行excel匯出並儲存的方式共享
好久沒有用excel匯出功能了,今天正好專案用了,也有人問我,我就給大家分享一下:
1.首先匯入xlwt模組,如果你的開發環境或者本機還沒有裝,請先裝這個包,可以通過pip或下載解壓安裝都可以,這裡我就不多說了
import xlwt
定義函式,一般會傳入三個引數,匯出的資料,本村檔案的名字和儲存的地址
def excel_data_export(data,
#name='exelname.xls',檔案命名
path='exportedFile/',#檔案儲存位置
):
_data = data
_path = path
# 通過xlwt包中的Workbook方法建立一個對應的對想法
workbook = xlwt.Workbook(encoding='utf-8')
if _data:
# 當有資料進行excel表佈置時,一定要理解以下的程式碼,可以少走彎路,我給大家總結分析以下:
demo1:data = [{'a':''a1},{'a':'a2'}]中a1和a2是列a的兩個值,a是列名
demo2: datas = [{'a':''a1,'b':'b1'},{'a':'a2','b':''b2}] 這時有兩個列,分別是列a和列b,並且各有兩個資料,關鍵在於一定要將同一行的資料放在同一個字典中,還有就是別忘記外層是一個列表
booksheet = workbook.add_sheet('Sheet 1', cell_overwrite_ok=True)
for i, row in enumerate(_data):
for j, col in enumerate(row):
if i == 0:
booksheet.write(i, j, col)
booksheet.write(i + 1, j, row[col])
try:
workbook.save('export.xls')
return True
except Exception as e:
return e
else:
return None
最後,因為我們方便進行前後端互動,所以通過返回值就可以判斷是否儲存成功,這個這個簡單的例子,沒有使用Respose,但是,大家程式設計的時候別忘記!