Django后台数据导出为excel并下载
功能要求:导出数据到制定好的excel的模板文件中
刚开始做项目,一边摸索一边做,搜了很多资料,踩了很多坑,记录一下
在模型的admin.py文件中定义函数和要导出的字段
中间注释的代码是没有测试成功的,请跳过
import openpyxl
from django.http import HttpResponse
import datetime
from process_card_management.settings import BASE_DIRstr_base = str(BASE_DIR)
path = str_base + '/mytools/J2009002.xlsx'
print(path)
wb = openpyxl.load_workbook(path)# get sheet from workbook
# sheet_list = wb.sheetnames
# print(sheet_list)# create new sheet
# new_sheet = wb.create_sheet('mysheet')# get sheet that already exists
# ws = wb.get_sheet_by_name(wb['Sheet1'])
# ws = wb['Sheet1']
# 获取活跃的sheet
# sheet1 = wb.active# get cells from the sheet
# print(ws['A1'].value)def export_model_as_excel(modeladmin, request, queryset):print(queryset, type(queryset))response = HttpResponse(content_type='application/msexcel')response['Content-Disposition'] = 'attachment; filename={}.xlsx'.format(datetime.datetime.now())ws = wb['Sheet1']for obj in queryset:# 用户代码ws.cell(row=3, column=4, value=obj.user_code)# 产品名称ws.cell(row=3, column=9, value=obj.product_name)# 出货时间ws.cell(row=3, column=13, value=str(obj.shipment_date.strftime(u'%Y年%m月%d日%H时')))# 产品型号ws.cell(row=4, column=4, value=obj.product_model_number)# 测量范围ws.cell(row=4, column=9, value=obj.measuring_range)# 数量ws['M4'].value = obj.quantity# 准确度ws['P4'].value = obj.accuracy# 供电电源ws['D5'].value = obj.power_supply# 输出信号ws['I5'].value = obj.output_signal# 打印要求ws['K6'].value = obj.print_content# 测量介质ws['D6'].value = obj.measuring_medium# 密度(仅液位)ws['I6'].value = obj.density# 介质温度ws['D7'].value = str(obj.medium_temperature_min) + '~' + str(obj.medium_temperature_max)# 补偿温度ws['I7'].value = obj.compensation_temperature# 显示方式ws['D8'].value = obj.display_mode# 电气接口ws['D8'].value = obj.electrical_interface# 线长ws['D9'].value = obj.line_length# 过程接口ws['I9'].value = obj.process_interface# 接线方式ws['D10'].value = obj.wiring_method# 其他特殊要求ws['D11'].value = obj.special_instructionsbreakwb.save(response)return responseexport_model_as_excel.short_description = u'导出为excel'
最后在模型管理类cardAdmin中添加
actions = [export_model_as_excel]
Django后台数据导出为excel并下载相关推荐
- 使用java在后台将数据导出为excel文件
本文主要讲的是怎么使用java将数据导出为Excel文件,xls格式的. 例如:我从前台查询到的数据,要把数据进行导出为excl格式的文件.需要将前台的查询条件(数据)传递到后台,后台拿到数据,写sq ...
- 数据导出到excel文件给客户端下载的几种方法
(原创)datagrid数据导出到excel文件给客户端下载的几种方法 看到这个觉得这个人很厉害,mvp啊. 我就改成这个样子了. Response.Clear(); Respons ...
- H5将网页数据导出为Excel并可下载
H5将网页数据导出为Excel并可下载 在制作webapp中,遇到个要将数据导出为Excel的问题.我搜索了一下网上的方案,可以直接将HTML的表格导出为Excel文件,这些方法在电脑上确实是可行的, ...
- 将数据库数据导出到Excel中,并可以在浏览器上下载Excel
将数据库数据导出到Excel中,并可以在浏览器上下载Excel 附代码: //设置文件保存路径 public static String url ="F:\\Workspase\\BackC ...
- 阿里开源(EasyExcel):使用Java将数据导出为Excel表格、带样式----》java web下载 Excel文件
目录 一.技术选型 二.实现过程 1.导入依赖 2.编写工具类 EasyExcelUtil 3.公用参数类 EasyExcelParams 4.表格样式实体类 MyWriteHandler 5.数据实 ...
- js导出的xlsx无法打开_vue将数据导出为excel文件就是如此简单
前言: 在以前需要将数据导出为excel文件时,往往需要后端提供支持,后端导出后以文件流的形式进行下载.但也带了一些问题,如: 1. 代码量复杂,一般前端难以完成. 2. 实现数据导出往往会大量消耗服 ...
- dbeaver导出excel文件_vue将数据导出为excel文件就是如此简单
前言: 在以前需要将数据导出为excel文件时,往往需要后端提供支持,后端导出后以文件流的形式进行下载.但也带了一些问题,如: 1. 代码量复杂,一般前端难以完成. 2. 实现数据导出往往会大量消耗服 ...
- JS 将Table数据导出到Excel表
通过JavaScript方法将table中的数据导出在excel表中,使用方便,可以直接浏览器直接下载所需要的excel表,一般适用于后台管理的导出数据需求. 使用方法 1.对table标签设置id, ...
- 表格导出计算机,电脑怎么导出excel表格数据-如何将百度指数数据导出到Excel表格...
系统没有导出功能,电脑表格里的数据有什么方法拿... 将网页表格数据导入到Excel中的方法: 第一步,将包括所需表格的网页打开,并按CTRL C把网址复制到剪贴板,以备下一步使用. 第二步,打开运行 ...
最新文章
- Qt安装后配置环境变量(Mac)
- CTF web题总结--SSRF
- mysql str_to_date 字符串转换为日期
- 怎样使用OpenCV进行人脸识别
- ActiveMQ中Queue消费者
- java 字符串排列组合_Java 程序计算列出字符串的所有排列组合
- 一步一步教你在IEDA中快速搭建SpringBoot项目
- 你应该知道的25道Javascript面试题
- 《悟透JavaScript》进展汇报
- STM8L USART串口调试
- UWP 应用通知Notifications
- 请使用hive udf或者spark udf实现父子关系树图分析,列举出所有的路径
- 文件类型识别----魔数
- HistoryDAO:重塑历史的记录方式
- Java整合微信商家转账到个人开通流程
- Python全栈学习笔记day 40.5+:线程池和线程池的Python标准模块--concurrent.futures
- 计算机bips,bips是指计算机的什么
- 77_Qt_承接【75】解决表格tableWidget添加行、列,删除行、列,以及下拉框comboBox动态跟随变化问题【难点:removeItem、addItem所需参数不同】
- 融合边界处理机制的学习型麻雀搜索算法
- python画误差棒_Python数据可视化-误差棒图errorbar