1. 程式人生 > >django進行excel匯出並儲存的方式共享

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,但是,大家程式設計的時候別忘記!