一、导入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. VH6501模板工程介绍(一)

    VH6501硬件结构 1.式样 1.正向有5个灯,用来指示干扰的触发状态,干扰类型(数字或模拟),通道通信以及设备状态. 2.两个DB9接口(公头male和母头female),这是CAN或CANFD通 ...

  2. 第二章:seaborn调色板

    1.系统默认调色板 1 import seaborn as sns 2 import matplotlib.pyplot as plt 3 4 # 设置画布的大小 5 sns.set(context= ...

  3. 【微服务架构设计实施】第一部分:架构篇-1:微服务架构与Spring Cloud介绍

    〇.概述 一.微服务架构与Spring Cloud (一)概念 不同说法:细粒度的.清凉组件化的小型SOA(面向服务架构) 统一说法:小型应用程序(服务组件),使用轻量级设计方法和HTTP协议通信 理 ...

  4. 不用USB,通过adb无线调试安卓手机页面

    以前真机调试手机页面,都是使用数据线连接手机和电脑,近日身边没有USB数据线,折腾了下如何不依赖数据线只用无线调试手机页面,教程如下. 本教程适用于安卓11以及以上版本.否则应该使用USB数据线连接. ...

  5. .NET 6 中外部引用项目NU1105异常问题解决

    .NET 6 Project中,添加了其他解决方案的工程后,本地能编译通过,代码签入后,其他同事下载代码,编译报错: 错误 NU1105 找不到"E:\Teld\01Code\TTP_CTP ...

  6. 持续发烧,试试Dart语言的异步操作,效率提升500%

    前言 昨天发了篇文章<Dart开发服务端,我是不是发烧(骚)了>,承蒙小编看得起上了首页. 今天持续发烧,再来写写如何使用 Dart 语言的异步操作.说起异步操作,玩 NodeJS 的同学 ...

  7. 使用JavaScript制作一个页面的电子时钟

    题目:做一个电子时钟,显示当前的年月日,时分秒,要求自动变化. 案例分析: 1.使用一个div盒子来展示时钟的内容: 2.将盒子在JavaScrip里面获取div盒子: 3.我们需要一个定时器setI ...

  8. Vue快速上门(2)-模板语法

    VUE家族系列: Vue快速上门(1)-基础知识 Vue快速上门(2)-模板语法 Vue快速上门(3)-组件与复用 01.模板语法 1.1.template模板 <template>是H5 ...

  9. Qt大型工程开发技术选型Part3:Qt调用C#编写的COM组件实例

    Qt大型工程开发技术选型Part3:Qt调用C#编写的COM组件实例以及错误总结 ok,前面铺垫了那么多,现在来写一个开发实例,我会把其中隐藏的坑和陷阱简单谈谈,并在文章最后总结. 不愿意看长篇大论的 ...

  10. 【转载】VUE入门教程

    vue-cli是官方提供的一个脚手架,用于快速生成一vue项目,有点类似java中使用maven构建项目 需要环境 Node.js : http://nodejs.cn/download/ 安装完后在 ...