目的:保存数据到excel
文件中
1. 背景
xlwt
是python
中用于处理表格文件的第三方包,其中xlwt
用于写,xlrt
用于读。由于这里只需要写数据到excel
文件中,故而这里就简单使用xlwt
包。
- 安装:
pip install xlwt -i https://pypi.douban.com/simple
- 参考:here
数据还是上篇的。
def saveUserInfo2EXCEL():
# 1. 创建一个工作簿workbook
xl = xlwt.Workbook(encoding='utf-8')
# 创建一个sheet对象,第二个参数是指单元格是否允许重设置,默认为False
sheet = xl.add_sheet('总用户信息', cell_overwrite_ok=True)
header_row = ["用户ID", "用户姓名", "性别", "电话", "QQ", "微信", "用户角色", "所属部门", "直接领导"]
datas = list(UserDB().getAllUserInfo())
for i in range(len(datas)):
data = [str(i+1), datas[i]['username'], datas[i]['sex'], datas[i]['phone'], datas[i]['qq'], datas[i]['weichat'], datas[i]['role'], datas[i]['department'], datas[i]['superior']]
if i==0:
for j in range(len(header_row)):
# 第一个参数代表行,第二个参数是列,第三个参数是内容,第四个参数是格式
sheet.write(i, j, header_row[j])
for k in range(len(data)):
sheet.write(i+1, k, data[k])
xl.save('download/UserInfo.xls')
然后,可以添加一个下载的链接:
from savepdf import saveUserInfo2PDF, saveUserInfo2EXCEL
@app.route("/download/excel/userinfo")
def downloadUserInfoEXCEL():
saveUserInfo2EXCEL()
return send_from_directory("download", filename="UserInfo.xls", as_attachment=True)
@app.route("/download/pdf/userinfo")
def downloadUserInfoPDF():
saveUserInfo2PDF()
return send_from_directory("download", filename="UserInfo.pdf", as_attachment=True)
注:download
是项目路径下新建的文件夹。