python导入和导出excel,以文件流形式返回前端
一、导入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,以文件流形式返回前端的更多相关文章
- ASP.NET Core 导入导出Excel xlsx 文件
ASP.NET Core 使用EPPlus.Core导入导出Excel xlsx 文件,EPPlus.Core支持Excel 2007/2010 xlsx文件导入导出,可以运行在Windows, Li ...
- 使用PHPExcel导入导出excel格式文件
使用PHPExcel导入导出excel格式文件 作者:zccst 因为导出使用较多,以下是导出实现过程. 第一步,将PHPExcel的源码拷贝到项目的lib下 文件包含:PHPExcel.ph ...
- java导入、导出Excel文件
一.介绍 当前B/S模式已成为应用开发的主流,而在企业办公系统中,常常有客户这样子要求:你要把我们的报表直接用Excel打开(电信系统.银行系统).或者是:我们已经习惯用Excel打印.这样在我们实际 ...
- 如何使用JavaScript导入和导出Excel文件
本文由葡萄城技术团队于原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. JavaScript是一个涵盖多种框架.直译式.可以轻松自定义客户端的脚本 ...
- 如何使用JavaScript实现前端导入和导出excel文件
一.SpreadJS 简介 SpreadJS 是一款基于 HTML5 的纯 JavaScript 电子表格和网格功能控件,以“高速低耗.纯前端.零依赖”为产品特色,可嵌入任何操作系统,同时满足 .NE ...
- 前端必读3.0:如何在 Angular 中使用SpreadJS实现导入和导出 Excel 文件
在之前的文章中,我们为大家分别详细介绍了在JavaScript.React中使用SpreadJS导入和导出Excel文件的方法,作为带给广大前端开发者的"三部曲",本文我们将为大家 ...
- 分享我基于NPOI+ExcelReport实现的导入与导出EXCEL类库:ExcelUtility (续篇)
上周六我发表的文章<分享我基于NPOI+ExcelReport实现的导入与导出EXCEL类库:ExcelUtility>受到了大家的热烈支持与推荐,再此表示感谢,该ExcelUtility ...
- POI导入和导出Excel总结
POI导入和导出Excel总结 POI使用总结 1.POI读取Excel 打开工作簿的方式有以下两种简单的应用,POI读取和输出工作簿文件都可以通过以下两种方式来声明: //通过输入流的方式打开本 ...
- [转]Java中导入、导出Excel
原文地址:http://blog.csdn.net/jerehedu/article/details/45195359 一.介绍 当前B/S模式已成为应用开发的主流,而在企业办公系统中,常常有客户这样 ...
- 分享我基于NPOI+ExcelReport实现的导入与导出EXCEL类库:ExcelUtility (续3篇-导出时动态生成多Sheet EXCEL)
ExcelUtility 类库经过我(梦在旅途)近期不断的优化与新增功能,现已基本趋向稳定,功能上也基本可以满足绝大部份的EXCEL导出需求,该类库已在我们公司大型ERP系统全面使用,效果不错,今天应 ...
随机推荐
- 2022-11-02 Acwing每日一题
逆序对的个数 给定一个长度为 n 的整数数列,请你计算数列中的逆序对的数量. 逆序对的定义如下:对于数列的第 i 个和第 j 个元素,如果满足 i<j 且 a[i]>a[j],则其为一个逆 ...
- 不借助idea开发工具构建一个Javaweb项目
不借助idea开发工具构建一个Javaweb项目 目录结构 webappsroot |----------WEB-INF |----------classes(存放字节码) |----------li ...
- hwlog---api.go
// Copyright(c) 2021. Huawei Technologies Co.,Ltd. All rights reserved.// Package hwlog provides the ...
- .NET性能优化-使用内存+磁盘混合缓存
我们回顾一下上一篇文章中的内容,有一个朋友问我这样一个问题: 我的业务依赖一些数据,因为数据库访问慢,我把它放在Redis里面,不过还是太慢了,有什么其它的方案吗? 其实这个问题比较简单的是吧?Red ...
- Swing常用窗体
Swing常用窗体 Swing 主要具有以下特点: ( 1 )轻量级组件. ( 2 )可插入外观组件. 窗体作为Swing的应用程序中组件的承载体,处于非常重要的地位.Swing中常用的窗体包括JFr ...
- 一张VR图像帧的生命周期
"VR 应用程序每帧渲染两张图像,一张用于左眼,一张用于右眼."人们通常这样来解释 VR 渲染,虽然没有错,但可能过于简单化了.对于 Quest 开发人员来说,了解全貌是有益的,这 ...
- Spring Security(6)
您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来- Spring Security使用MySQL保存cookie记录虽然方便,但是目前更多的主流互联网应用都是用NoSQL来保存非业务数据的,Spr ...
- NavigationDuplicated Navigating to current location (“/XXX”) is not allowed
导航不允许导航到当前位置https://stackoverflow.com/questions/57837758/navigationduplicated-navigating-to-current- ...
- 2020-12-16HDOJ-ACMsteps笔记
1.1.5 Problem Description Your task is to calculate the sum of some integers. Input Input contains a ...
- Django框架F查询与Q查询(全面了解)
一:F与Q查询 1.F查询的作用 能够帮助你直接获取到列表中某个字段对应的数据 注意: 在操作字符串类型的数据的时候, F不能够直接做到字符串的拼接 2.查询卖出书大于库存数的书籍 # 导入F查询 f ...