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,但是,大家编程的时候别忘记!
 

猜你喜欢

转载自blog.csdn.net/fsj818077/article/details/83542669