返回顶部
首页 > 资讯 > 后端开发 > Python >django下载excel,使用djan
  • 269
分享到

django下载excel,使用djan

djangoexceldjan 2023-01-30 22:01:49 269人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

  由于目前的资料多是使用pandas或xlwt库实现的。其实没有那么的麻烦,因为Django有相对应的插件djanGo-excel。   该插件是依赖于pyexcel库写的。不过,不用专门安装pyexcel库,因为在安装django-

  由于目前的资料多是使用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-io

csv, csvz , tsv, tsvz 

 

2.6, 2.7, 3.3, 3.4, 3.5, 3.6 pypy

pyexcel-xls

xls, xlsx(只读), xlsm(只读)

xlrd, xlwt

同上

pyexcel-xlsx

xlsx

openpyxl

同上

pyexcel-ods3

ods

pyexcel-ezodf, lxml

2.6, 2.7, 3.3, 3.4 3.5, 3.6

pyexcel-ods

ods

odfpy

同上

 

 

 

 

 

 

 

 

 

上表是生成对应文件格式所需安装的包。

  如果是要使用二维数组生成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.py

class django_test_1(models.Model):
    abc = models.CharField(max_length=20,db_column='测试')

 

views.py

1 import django_excel as excel
2 
3 def download_excel(request):
4 
5     data_excel =django_test_1.objects.all()
6 
7     column_names = ["abc"]
8 
9     return excel.make_response_from_query_sets(data_excel,column_names, "xlsx",status = 200 ,sheet_name='测试',file_name='测试文件')

 

以上仅为笔者目前的见解,没有写全。如果感兴趣可以直接阅读其官方文档:Http://django.pyexcel.org/en/latest/

--结束END--

本文标题: django下载excel,使用djan

本文链接: https://lsjlt.com/news/179823.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • django下载excel,使用djan
      由于目前的资料多是使用pandas或xlwt库实现的。其实没有那么的麻烦,因为django有相对应的插件django-excel。   该插件是依赖于pyexcel库写的。不过,不用专门安装pyexcel库,因为在安装django-...
    99+
    2023-01-30
    django excel djan
  • Springboot如何下载Excel
    小编给大家分享一下Springboot如何下载Excel,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.EasyExcel--浏览器下载1.Maven环境网络上...
    99+
    2023-06-20
  • Java下载excel模板文件
    目录 一、前言二、下载模板三、Excel导入 一、前言 最近做了一个导入Excel的功能,需求: 先提供一个下载Excel模板的功能。用户下载好模板后,可以在模板文件当中填写要上传的内容,填写完过后再进行导入Excel,然后...
    99+
    2023-08-17
    java servlet 开发语言
  • django 使用框架下auth.mod
    需要改动三个地方: 1.models.py   创建模型User,并继承原模型类AbstraUser(在此处我增加了一个新的字段手机号) from django.db import models # Create your model...
    99+
    2023-01-31
    框架 django mod
  • Python+django实现文件下载
    (1)方法一、直接用a标签的href+数据库中文件地址,即可下载。缺点:word excel是直接弹框下载,对于image txt 等文件的下载方式是直接在新页面打开。 (2)方法二、在python后台对下...
    99+
    2022-06-04
    文件 Python django
  • django 实现文件下载功能
    在实际的项目中很多时候需要用到下载功能,如导excel、pdf或者文件下载,当然你可以使用web服务自己搭建可以用于下载的资源服务器,如nginx,这里我们主要介绍django中的文件下载。前端实现方式a标签+响应头信息<a ...
    99+
    2023-01-31
    功能 文件 django
  • 利用Python+Excel制作一个视频下载器
    说起Excel,那绝对是数据处理领域王者般的存在。 而作为网红语言Python,在数据领域也是被广泛使用。 其中Python的第三方库-xlwings,一个Python和Excel的...
    99+
    2024-04-02
  • 利用Java怎么上传与下载Excel表格
    这篇文章给大家介绍利用Java怎么上传与下载Excel表格,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Excel表格文件的上传和下载,java中涉及到文件肯定会有io流的知识。而excel文件就要涉及到poi技术,而...
    99+
    2023-05-31
    java excel ava
  • 前端axios如何下载excel文件
    小编给大家分享一下前端axios如何下载excel文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!需求:通过后端接口下载exc...
    99+
    2024-04-02
  • excel下载后文件名称不对
    正确写法 String headerValue = String.format("attachment; filename=\"%s\";", fileName+ "_" + dateStr + ".xlsx");// 这样就可以了 ...
    99+
    2023-08-30
    excel java
  • C#中控制导出Excel,Excel样式的设置下载
    要在C#中控制导出Excel并设置样式,可以使用Excel操作库,例如EPPlus或NPOI。下面以EPPlus为例,提供一段示例代...
    99+
    2023-08-08
    C#
  • 怎么在vue中使用django实现一个文件下载功能
    这篇文章将为大家详细讲解有关怎么在vue中使用django实现一个文件下载功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一、概述在项目中,点击下载按钮,就可以下载文件。传统的下载链接一般...
    99+
    2023-06-14
  • 解决树莓派下载django的TypeE
    诸位, 不好意思哈, 请允许我把完整的标题写完(标题不能超过64个有效字符): 记一次解决树莓派下载Django库 ——报错为TypeError: unsupported operand types for -=: 'Retry' and...
    99+
    2023-01-31
    树莓派 django TypeE
  • vue中如何下载excel流文件及设置下载文件名
    目录概述1、通过 url 下载2、通过 a 标签 download 属性结合 blob 构造函数下载3、通过 js-file-download 插件概述 导出excel需求,当点击下...
    99+
    2024-04-02
  • vue中怎么下载excel流文件及设置下载文件名
    这篇文章给大家分享的是有关vue中怎么下载excel流文件及设置下载文件名的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。概述导出excel需求,当点击下载模板或下载反馈结果,axios发起后端接口请求,返回的数据...
    99+
    2023-06-15
  • vue中怎么使用xlsx插件下载内容默认居中的excel
    这篇文章主要介绍“vue中怎么使用xlsx插件下载内容默认居中的excel”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue中怎么使用xlsx插件下载内容默认居中...
    99+
    2024-04-02
  • 一次在vue中使用post进行excel表下载的实战记录
    目录一、一般大家下载excel都是使用get方法,直接点击下载二、vue用post下载excel表三、下面是具体的实现3.1 post的封装3.2 请求的方法3.3 download...
    99+
    2024-04-02
  • 详解Springboot下载Excel的三种方式
    汇总一下浏览器下载和代码本地下载实现的3种方式。 (其实一般都是在代码生成excel,然后上传到oss,然后传链接给前台,但是我好像没有实现过直接点击就能在浏览器下载的功能,所以这次...
    99+
    2024-04-02
  • springboot中Excel文件下载踩坑大全
    目录项目场景:Spring boot文件下载问题一:下载的文件名称出现中文乱码的问题问题二:在swagger中测试下载接口,点击下载的文件,发现文件名是乱码的问题问题四:开发环境下载...
    99+
    2024-04-02
  • Java下载Excel模板文件的实现
    在项目中经常会用到文件下载的功能,比如下载excel模板,这里简单记录一下实现过程 将模板文件放到项目资源文件目录中,也可以自定义其他位置,只要通过路径能找到该文件就行:  2、controller层写下载的接口 @Ge...
    99+
    2023-08-31
    java servlet html
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作