python excel插件_django使用插件下载excel的方法
本篇文章给大家带来的内容是关于django使用插件下载excel的方法,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
由于目前的资料多是使用pandas或xlwt库实现的。其实没有那么的麻烦,因为django有相对应的插件django-excel。
该插件是依赖于pyexcel库写的。不过,不用专门安装pyexcel库,因为在安装django-excel时会自动将pyexcel装上。由于pyexcel是一个大库,且在使用django-excel时不用考虑pyexcel的使用方法,所以就不再此介绍太多了。在此,还是要多说一句,pyexcel的功能也是很强大的,可以实现数据的可视化,目前已开发出了与flask、django等web框架的对应插件,比如今天介绍的django-excel。
django-excel是一款支持上传和下载excel文件的插件,并可以将excel文件以网页的形式展现出来,也可以将数据存入数据库。由于,笔者也是刚接触该插件,而且开发需求目前仅为下载功能,所以本篇只介绍其下载的功能。(注:实现下载功能,部署的服务器无需安装office)
1、 安装
pip install django-excel
安装时会自动安装pyexcel-io、pyexcel、pyexcel-webio
2、 支持django的版本
目前已支持到django2.1.1版本。所以,使用目前django最新版的开发者也不用担心了,因为它支持。
3、 实现下载
该插件支持的数据格式很多,array(二维数组)、字典、数据库的表(单张或多张)、django的ORM查询结果(query sqt)等等。可以生成的文件类型:csv、tsv、csvz、tsvz、xls、xlsx、xlsm、ods。包名支持的文件格式依赖Python版本pyexcel-iocsv, csvz , tsv, tsvz2.6, 2.7, 3.3, 3.4, 3.5, 3.6 pypy
pyexcel-xlsxls, xlsx(只读), xlsm(只读)xlrd, xlwt同上
pyexcel-xlsxxlsxopenpyxl同上
pyexcel-ods3odspyexcel-ezodf, lxml2.6, 2.7, 3.3, 3.4 3.5, 3.6
pyexcel-odsodsodfpy同上
上表是生成对应文件格式所需安装的包。
如果是要使用二维数组生成excel文件,则需return django_excel.make_response_from_array(二维数组名, 生成的文件类型, status=200)。二维数组每一行代表Excel中相应的行。
如果想要使用字典生成excel文件,则需return django_excel.make_response_from_dict(字典名, 文件类型, status=200)。键名为列名,键值为数据。
如果想要使用数据库的表(单张)生成excel文件,则需return django_excel.make_response_from_a_table(表名, 文件类型,status=200)
如果想要使用数据库的表(多张)生成excel文件,则需return django_excel.make_response_from_tables(表名列表, 文件类型status=200)
如果想要使用查询集合生成excel文件,则需return django_excel.make_response_from_query_sets(查询集合名, 所需列对应字段(列表类型),文件类型, status=200)。所需列对应字段的列表里的顺序为Excel列名的顺序,且列表里的元素必须为model里的变量名。
所有函数的通用参数包含file_name 和sheet_name,分别为文件名和Excel的工作薄名。
注意,不论是数据库表还是查询集合,都不能包含外键否则会报错,而且只能通过页面的跳转实现下载,不能通过ajax请求,否则不会下载。
eg:
models.pyclass django_test_1(models.Model):
abc = models.CharField(max_length=20,db_column='测试')
views.pyimport django_excel as excel
def download_excel(request):
data_excel =django_test_1.objects.all()
column_names = ["abc"]
return excel.make_response_from_query_sets(data_excel,column_names, "xlsx",status = 200 ,sheet_name='测试',file_name='测试文件')
以上就是django使用插件下载excel的方法的详细内容,更多请关注php中文网其它相关文章!
本文转载于:博客园,如有侵犯,请联系a@php.cn删除
python excel插件_django使用插件下载excel的方法相关推荐
- java使用jxl生成excel表格,jsp使用js下载excel文件xls
java使用jxl生成excel表格,jsp使用js下载excel文件 后端代码 maven jar包 主体代码逻辑 引入的jar包 具体代码段 重点详解 表头和表格内容两种格式 直接将 HttpSe ...
- php手机端下载excel,PHPExcel:在客户端下载Excel文件
问题已解决:对于可能存在此问题的其他用户 – 请注意PHP文件的编码.如果您使用PHPExcel,它必须是ANSII编码而不是UTF8,否则将彻底下载EXCEL.添加的标题(答案1)在我更改了文件本身 ...
- php下载excel文件模板文件,PHP下载excel文件变得腐败
我有一个excel文件,我希望用户能够从我的服务器下载.我在这里看了很多问题,但我找不到正确下载没有腐败的文件的方法.我假设它是标题但我还没有它们的工作组合.这就是我现在所拥有的,在我收到的损坏文件中 ...
- 【导出Excel】Vue实现导出下载Excel文件(blob文件流)--亲测可用
// 下载blob文件流(暂不支持手机H5唤起下载文件!!!) downloadFile(res: any, fileName: any = '未命名', format: any = '.xlsx') ...
- Anaconda下Python中h5py与netCDF4模块下载与安装方法
本文介绍基于Anaconda,下载并安装Python中h5py与netCDF4这两个模块的方法.h5py与netCDF4这两个模块是与遥感图像处理.地学分析等GIS操作息息相关的模块,应用较为广泛 ...
- vue使用xlsx插件下载excel文件
1.安装xlsx插件 cnpm install xlsx 2.新建xlsx.js文件,添加以下代码,放在plugins或utils插件文件夹下 // 下载excel功能 import XLSX fro ...
- java迅雷下载excel,Asp.net生成Excel文件并下载(更新:解决使用迅雷下载页面而不是文件的问题)...
(一) 如果在迅雷的下载对话框中点取消,则会使用IE的下载,这里的文件又是正确的了: 怀疑迅雷是根据下载对话框中的网址重新请求下载,与发起请求的页面已经无关,而IE又不会把ViewState信息传到迅 ...
- java下载excel导入excel读取excel数据,将数据插入数据库
10:如果你想导出excel表格,请链接:http://blog.csdn.net/xuanzhangran/article/details/54709221 导入的效果如下: 1:开始页面 2:点击 ...
- Excel按照模板导出并下载
Excel按照模板导出并下载 仅记录方法,如果使用中遇到问题,并不负责 一般来讲,导出关系型数据库的Excel,可以直接按照数据库中的格式导出,非常简单,之后会贴上简单格式导出的代码. 如果涉及到按照 ...
最新文章
- linux磁盘i o跟踪,利用zabbix动态监控磁盘I/O
- java读取字符串,生成txt文件
- vue 2.0 :key的作用
- Leet Code OJ 242. Valid Anagram [Difficulty: Easy]
- PPR context node destroy logic
- SpringMVC总结帖
- Blackcat主题-Wordpress
- 形态学运算中腐蚀,膨胀,开运算和闭运算
- 嵌入式电路设计(工具准备)
- Oracle 数据类型 选择自 tjandy 的 Blog
- 添加组件_苹果ios14怎么添加删除小组件 小组件叠放添加设置教程
- Mysql DDL与DML
- 利用npm命令创建一个Vue项目并安装依赖
- 数字水印技术的基本概念和现状
- 大数据算法_大数据挖掘十大经典算法
- python pandas安装不了_python安装pandas问题!python pandas安装教程
- MATLAB计算自相关函数和互相关函数
- oracle用exp定时备份数据库,oracle exp备份数据库
- iOS开发项目实战狗粮
- 【elementUI】el-table树形结构样式修改-gif展示说明 按要求自取即可