文件的下载

from flask import send_from_directory

  1. @excel_bp.route('/get_attachment/<path:filename>')

  2. def get_attachment(filename):

  3. return send_from_directory(app.config['UPLOAD_FOLDER'],filename,as_attachment=True)

文件的上传

(1)html中

<input class="form-control" type="文件名" name="file" value="请上传excel文件">

(2)后端获取,保存

  1. file = request.files.get('文件名') # 获取文件

  2. filename = file.filename # 获取文件名

  3. file.save(os.path.join(FILE_DIR,filename)) # 保存文件

(3)当然 要对文件名,文件类型进行判断;存储路径也要进行判断

可以使用werkzeug中的 secure_filename

判断文件类型

  1. ALLOWED_EXTENSIONS = ['xls', 'xlsx']

  2. def allowe_file(filename):

  3. '''

  4. 限制上传的文件格式

  5. :param filename:

  6. :return:

  7. '''

  8. return '.' in filename and filename.rsplit('.',1)[1] in ALLOWED_EXTENSIONS

修改文件名

  1. import os

  2. import datetime,uuid

  3. def change_filename(filename):

  4. '''

  5. 修改文件名称

  6. :param filename:

  7. :return:

  8. '''

  9. fileinfo = os.path.splitext(filename)

  10. filename = datetime.datetime.now().strftime("%Y%m%d%H%M%S")+str(uuid.uuid4().hex)+fileinfo[-1]

  11. return filename

判断储存路径

  1. if not os.path.exists(FILE_DIR):

  2. os.makedirs(FILE_DIR)

python的excel操作

通过xlrd读文件

安装:pip install xlrd

通过 xlrd 打开excel,组装数据

  1. import xlrd

  2. def get_data(filename,method='r'):

  3. '''

  4. 改变数据结构 -- 方便前端显示

  5. :param filename: 文件名

  6. :param method: 按照 列或者 行 返回数据

  7. '''

  8. data = xlrd.open_workbook(filename)

  9. table= data.sheets()[0]

  10. nrows = table.nrows # 行数

  11. ncols = table.ncols # 列数

  12. if method == 'r':

  13. row_list = [ table.row_values(i) for i in range(0,nrows)] # 所有行的数据

  14. return row_list

  15. elif method == 'c':

  16. col_list = [ table.col_values(i) for i in range(0,ncols)] # 所有列的数据

  17. return col_list

前端显示

  1. < thead >

  2. < tr >

  3.              {% for title in datalist[0] %}

  4.                 < th >{ title }< / th >

  5.              { % endfor % }

  6.          < /tr >

  7. < / thead >

  8. < tbody >

  9.          { % for row in datalist[1:] % }

  10.              < tr >

  11. { % for item in row % }

  12. <td>{ { item } }</td>

  13. { % endfor % }

  14. < /tr >

  15.         { % enfor % }

  16.      < / tbody >

  17. < / table >

通过xlwt写文件

flask 对excel上传下载操作和文件处理相关推荐

  1. 关于出生日期、邮箱、上传下载操作的元素点分析

    关于出生日期测试点总结(可输入) 1.有效 (1)过去日期 (2)大月的1号.15号.31号 (3)小月的1号.16号.30号 (4)平年2月的1号.15号.28号 (5)闰年2月的1号.15号.29 ...

  2. java jsch下载文件,JSch使用sftp协议实现服务器文件上传下载操作

    Jsch是什么? JSch 是SSH2的一个纯Java实现.它允许你连接到一个sshd 服务器,使用端口转发,X11转发,文件传输等等.你可以将它的功能集成到你自己的 程序中.同时该项目也提供一个J2 ...

  3. 阿里云oss 使用, 基于Nginx 配置云服务器+oss的内网访问 , 及使用Java SDK 完成上传,下载,删除,查询文件列表操作

    一.同阿里产品,云服务器和存储对象oss-配置内网访问 阿里存储对象oss 地址: https://oss.console.aliyun.com/overview 配置须知 通过Nginx 进行网络转 ...

  4. .NET技术 ASP.NET中常用的文件上传下载方法(多文件上传)

    文件的上传下载是我们在实际项目开发过程中经常需要用到的技术,这里给出几种常见的方法,本文主要内容包括: 1.如何解决文件上传大小的限制 2.以文件形式保存到服务器 3.转换成二进制字节流保存到数据库以 ...

  5. 上传/下载远程服务器文件

    需求说明   有时候我们需要对我们远程服务器的文件进行上传/下载功能,或者是我们拿到国外的Chicken了需要上传我们的Trojan来进行长久控制,再或者我们需要方便的拿到我们远程服务器上某某文件/文 ...

  6. excel上传下载 Content-type

    最近有一个问题,上传文件的时候要判断上传文件的类型要求只能上传excel类型的文件 <input type="file" accept="image/jpge,im ...

  7. poi实现excel上传下载 亲自实践 教你十分钟搞定

    今天要实现一个上传excel的功能,之前写过很多次,但是都没有详细整理过,今天整理下,方便以后直接拿来拷贝 首先从前台来看,看了很多案例,基本两种方法:一种是form表单提交,一种是异步ajax方式. ...

  8. Java Servlet实现文件上传下载操作

    1.配置对应的文件,导入相应的包 对应包下载地址:https://wws.lanzous.com/ipFtEoyv1je 2.编写jsp页面 代码如下: <%@ taglib prefix=&q ...

  9. .Net FTP文件上传下载及相关文件操作

    public class FtpHelper{string ftpServerIP;string ftpRemotePath;string ftpUserID;string ftpPassword;s ...

最新文章

  1. 为什么Python在数据科学领域比R更受欢迎呢?
  2. 来阿里前 vs 来阿里后
  3. boot分布式计算 spring_腾讯T4大佬剖析SpringBoot2 :从搭建小系统到架构分布式大系统...
  4. 作者:聂敏,男,电子科技大学教育大数据研究所博士生。
  5. 北京IT白领的真实生活!
  6. 30 张图解 | 面试官问我高并发服务模型哪家强?
  7. 动态规划——方格取数(hdu1565)
  8. SIP协议 会话发起协议(二)
  9. java高性能反射框架_终于有人把性能优化讲清楚了!阿里架构师推荐的Java性能权威指南可太强了...
  10. 数字后端基础技能之:CTS(中篇)
  11. 大数据面试求职经验总结
  12. Shader实例:NGUI制作网格样式血条
  13. BZOJ3224 Tyvj 1728 普通平衡树
  14. 数控车床 刀尖补偿用法 G41 G42 G40
  15. 【Python】随机森林算法——东北大学大数据班数据挖掘实训四
  16. java verbose gc_java –verbose:gc
  17. python永久配置pip下载镜像源方法(window版本)
  18. 爱心跳动-HTML-抖音火的那个
  19. 互联网金融产品实战——安全开发篇
  20. 加强立法规制个人信息滥用

热门文章

  1. [php入门] 3、WAMP中的集成MySQL相关基础操作
  2. Nodejs架构之json空处理
  3. sqlserver中 事物 索引及视图
  4. 实现自己的BeanFactory、AOP以及声明式事务
  5. WPF程序将DLL嵌入到EXE的两种方法
  6. C#中的事件和委托(续)
  7. 同一页面引入多个JS文件的编码问题
  8. 算法组合 优化算法_算法交易简化了风险价值和投资组合优化
  9. delphi5开发人员指南_非设计人员的网页设计开发人员指南
  10. lasso回归和岭回归_如何计划新产品和服务机会的回归