一、导入excel

1. 安装依赖包

pip install xlrd

2. 读取excel

getColIndex(colList:list,colName:str):
try:
return colList.index(colName)
except:
return -1 def readExcel():
filePath = 'data/excel.xls'
# 获取workbook,只支持xls
workbook = xlrd.open_workbook_xls(filePath)
# 获取第一个sheet,多个的话可以自行遍历
sheet = workbook.sheets()[0] # 获取excel列头信息
colList = sheet.row_calues(0)
# 获取所有行(包含列头)
allRows = sheet.nrows
for i in range(allRows):
# 忽略第一行列头
if i == 0:
continue # 获取要处理的行数据
rowData = sheet.row_calues(i)
# 获取行数据中具体某一列的值
colIndex = getColIndex(colList, 'name')
# 如果存在该列明
if eolIndex > -1:
nameValue = rowData[colIndex]
else:
nameValue = rowData[colIndex] print(nameValue)

二、导出excel

1. 安装依赖包

pip install xlwt

pip install flask

2. 写入Excel数据返回前端

import xlwt
from flask import Flask app = Flask(__name__) @app.route('/api/exceptExcel', methods=['get'])
def exceptExcel():
# xlwt库将数据导入Excel
workbook = xlwt.Workbook()
# 添加一个表 参数为表名
worksheet = workbook.add_sheet('sheet1')
# 写列头,参数依次代表行,列,内容,格式(可省略,默认文本格式输出)
worksheet.write(0, 0, '列头1')
worksheet.write(0, 0, '列头2')
worksheet.write(0, 0, '列头3')
# 写入数据行
worksheet.write(1, 0, '1')
worksheet.write(1, 1, '2')
worksheet.write(1, 2, '3') # xlwt不支持xlsx,只支持xls
# filePath = 'excel/excelTest.xls'
# 保存文件到本地
# workbook.save(filePath) # 文件流的形式保存到内存
stream = io.BytesIO()
workbook.save(stream)
fileData = stream.getvalue()
stream.close() # 读取保存的文件
# fileData = open(filePath, 'rb').read() # app是Falsk实例 Flask(__name__)
response = app.make_response(fileData)
response.headers["Content-Disposition"] = 'attachment; filename=excel.xls'
response.headers["Content-Type"] = 'application/x-xlsx'
return response

3. xlwt 官方说明文档

https://pypi.org/project/xlrd

https://pypi.org/project/xlwt

python导入和导出excel,以文件流形式返回前端的更多相关文章

  1. ASP.NET Core 导入导出Excel xlsx 文件

    ASP.NET Core 使用EPPlus.Core导入导出Excel xlsx 文件,EPPlus.Core支持Excel 2007/2010 xlsx文件导入导出,可以运行在Windows, Li ...

  2. 使用PHPExcel导入导出excel格式文件

    使用PHPExcel导入导出excel格式文件  作者:zccst  因为导出使用较多,以下是导出实现过程.  第一步,将PHPExcel的源码拷贝到项目的lib下  文件包含:PHPExcel.ph ...

  3. java导入、导出Excel文件

    一.介绍 当前B/S模式已成为应用开发的主流,而在企业办公系统中,常常有客户这样子要求:你要把我们的报表直接用Excel打开(电信系统.银行系统).或者是:我们已经习惯用Excel打印.这样在我们实际 ...

  4. 如何使用JavaScript导入和导出Excel文件

    本文由葡萄城技术团队于原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. JavaScript是一个涵盖多种框架.直译式.可以轻松自定义客户端的脚本 ...

  5. 如何使用JavaScript实现前端导入和导出excel文件

    一.SpreadJS 简介 SpreadJS 是一款基于 HTML5 的纯 JavaScript 电子表格和网格功能控件,以“高速低耗.纯前端.零依赖”为产品特色,可嵌入任何操作系统,同时满足 .NE ...

  6. 前端必读3.0:如何在 Angular 中使用SpreadJS实现导入和导出 Excel 文件

    在之前的文章中,我们为大家分别详细介绍了在JavaScript.React中使用SpreadJS导入和导出Excel文件的方法,作为带给广大前端开发者的"三部曲",本文我们将为大家 ...

  7. 分享我基于NPOI+ExcelReport实现的导入与导出EXCEL类库:ExcelUtility (续篇)

    上周六我发表的文章<分享我基于NPOI+ExcelReport实现的导入与导出EXCEL类库:ExcelUtility>受到了大家的热烈支持与推荐,再此表示感谢,该ExcelUtility ...

  8. POI导入和导出Excel总结

    POI导入和导出Excel总结   POI使用总结 1.POI读取Excel 打开工作簿的方式有以下两种简单的应用,POI读取和输出工作簿文件都可以通过以下两种方式来声明: //通过输入流的方式打开本 ...

  9. [转]Java中导入、导出Excel

    原文地址:http://blog.csdn.net/jerehedu/article/details/45195359 一.介绍 当前B/S模式已成为应用开发的主流,而在企业办公系统中,常常有客户这样 ...

  10. 分享我基于NPOI+ExcelReport实现的导入与导出EXCEL类库:ExcelUtility (续3篇-导出时动态生成多Sheet EXCEL)

    ExcelUtility 类库经过我(梦在旅途)近期不断的优化与新增功能,现已基本趋向稳定,功能上也基本可以满足绝大部份的EXCEL导出需求,该类库已在我们公司大型ERP系统全面使用,效果不错,今天应 ...

随机推荐

  1. .NET刷算法

    BFS模板-宽度优先搜索(Breadth First Search) 1.模板 /// <summary> /// BFS遍历 /// </summary> /// <p ...

  2. 2.mysql-库表行管理

    1.数据库管理 1.1 SQL语句 1.1.1 查看当前所有的数据库 show databases; 1.1.2 创建数据库 create database 数据库名; create databse ...

  3. Mybatis——Plus :表与表之间的关系:1对多和多对一

    Mybatis--plus我大致整理出两种方案: 第一种:第三方mybatis-plus 插件,注解式开发 Mybatis-Plus-Relation ( mprelation ) : mybatis ...

  4. MySQL遇到的坑:sql_mode=only_full_group_by不兼容

    描述: 解决方案: show variables like "%sql_mode%"; SET sql_mode=(SELECT REPLACE(@@sql_mode," ...

  5. 1. PyQt5开发环境的搭建

    专栏地址 ʅ(‾◡◝)ʃ 因为我个人使用的是 Linux 还有之前用过Windows 没用过 Mac 所以这里我简单结束 Linux 和 Windows 开发环境的搭建 Windows 开发PyQt5 ...

  6. 【终极解决办法】pyinstaller打包exe没有错误,运行exe提示Failed to execute script 'mainlmageWindows' due tounhandled exception: No module named 'docx'

    一.通过pyinstaller打包exe可执行文件,由于我的py是多个,所以要先生成spec文件,代码如下: pyi-makespec mainImageWindows.py 此时生产了一个mainI ...

  7. 100IT 名企 java 面试必考面试题

    一.Java基础(2/133) 二.Java代码报错(52/133) 三.算法与编程(55/133) 四.html&JavaScript&ajax部分 五.Java Web部分 六.数 ...

  8. 详解 Redis 中 big keys 发现和解决

    在使用 Redis 时,可能会出现请求响应慢.网络卡顿.数据丢失的情况.排查问题的时候,发现是 big keys 的问题. 什么是 big keys 在 Redis 中,一个字符串类型最大可以达到 5 ...

  9. 1分钟理清楚C++类模板和模板类区别

    1.定义区别 类模板和模板类主要关注点是后一个单词. 类模板:主要描述的是模板,这个模板是类的模板.可以理解为一个通用的类,这个类中的数据成员,成员函数的形参类型以及成员函数的返回值类型不用具体的指定 ...

  10. 说说真实Java项目的开发流程,以及面试前的项目准备说辞

    介绍项目是必不可少的Java面试环节,求职者需要借此证明自己真实Java项目的经验,如果再做的好的话,需要借此展开自己的亮点说辞. 不过之前如果只有学习项目经验,比如是自己跑通一个项目,或者是在培训班 ...