flask中使用xlsxwriter导出excel文件
最近需要使用flask导出xlsxwriter生成的excel文件,在文件比较小的情况下,可以直接导出。
首先,这里使用了StringIO,导出使用的模块
import xlsxwriter
import StringIO
设置好IO对象,把文件写到io流中,过程见注释
@app.route('/down_excel')
def down_excel():
sio = StringIO.StringIO()
workbook = xlsxwriter.Workbook(sio) # 直接写到io中
sheet = workbook.add_worksheet(u'sheet1')
style = workbook.add_format() # 设置风格
sheet.merge_range(0, 0, 0, 5, 'aaa') # 合并单元格
sheet.write('A2', u'内容', style)
for i in range(2, 10):
sheet.write(i, 2, 1)
sheet.write(11, 2, '=SUM(1:10)') # 增加公式
sheet.set_column(0, 5, 10) # 设置列宽
sheet.set_default_row(35) # 设置默认行高
workbook.close() # 需要关闭
sio.seek(0) # 找到流的起始位置
resp = make_response(sio.getvalue())
resp.headers["Content-Disposition"] = "attachment; filename={}.xlsx".format('name')
resp.headers['Content-Type'] = 'application/x-xlsx'
return resp
如果觉得生成的excel中,格式不好看,可以设置一些默认格式,我在这里写了一个函数,可以直接在添加format时使用,如下
def xlsx_style(**kwargs):
style = {
'bold': kwargs.get('bold', False), # 加粗
'font_name': kwargs.get('font_name', 'SimSun'), # 字体类型,默认宋体
'font_size': kwargs.get('font_size', 12), # 字体大小,默认12
'font_color': kwargs.get('font_color', '#000000'), # 字体颜色,黑色
'align': kwargs.get('align', 'center'), # 默认水平居中
'valign': kwargs.get('valign', 'vcenter'), # 默认垂直居中
'text_wrap': kwargs.get('text_wrap', True), # 默认自动换行
'top': kwargs.get('top', 1), # 上边界,线条宽度
'bottom': kwargs.get('bottom', 1), # 边界
'left': kwargs.get('left', 1), # 边界
'right': kwargs.get('right', 1), # 边界
'bg_color': kwargs.get('bg_color', '#FFFFFF'), # 背景颜色,白色
# 其他类型设置格式可以接着写
} return style
在这里使用
head_style = workbook.add_format(xlsx_style(bold=True, font_size=20))
body_style = workbook.add_format(xlsx_style(bg_color='#FFFF00'))
worksheet.write(2, 5, 'aaa', body_style)
flask中使用xlsxwriter导出excel文件的更多相关文章
- Yii框架中使用PHPExcel导出Excel文件
最近在研究PHP的Yii框架,很喜欢,碰到导出Excel的问题,研究了一下,就有了下面的方法: 1.首先在config\main.php中添加对PHPExcel的引用,我的方式是这样: 1 2 3 4 ...
- Java web中不同浏览器间导出Excel文件名称乱码问题解决方案
问题描述: 对于不同浏览器存在对中文编码格式问题,从而在导出Excel文件时,中文文件名出现乱码的情况,即在程序中给要导出的文件指定一个中文名字时,在浏览器上出现的下载框中的文件名出现了乱码,解决如下 ...
- 前端必读3.0:如何在 Angular 中使用SpreadJS实现导入和导出 Excel 文件
在之前的文章中,我们为大家分别详细介绍了在JavaScript.React中使用SpreadJS导入和导出Excel文件的方法,作为带给广大前端开发者的"三部曲",本文我们将为大家 ...
- [转]Java中导入、导出Excel
原文地址:http://blog.csdn.net/jerehedu/article/details/45195359 一.介绍 当前B/S模式已成为应用开发的主流,而在企业办公系统中,常常有客户这样 ...
- ExtJS Grid导出excel文件
ExtJS Grid导出excel文件, 需下载POI:链接:http://pan.baidu.com/s/1i3lkPhF 密码:rqbg 1.将Grid表格数据连同表格列名传到后台 2.后台导出e ...
- PHP从数据库导出EXCEL文件
参考博客链接:http://www.cnblogs.com/huangcong/p/3687665.html 我的程序代码 原生导出Excel文件 <?phpheader('Content-ty ...
- jxl导出Excel文件
一.java项目实现读取Excel文件和导出Excel文件 实现读取和导出Excel文件的代码: package servlet; import java.io.FileInputStream; im ...
- PHPExcel导出excel文件
今天园子刚开,先来个货顶下,后续园丁qing我会再慢慢种园子的,希望大家多来园子逛逛. PHPExcel导出excel文件,先说下重要的参数要记住的东西 impUser() 导入方法 exportEx ...
- asp.net 导出excel文件
之前做过winfrom程序的导出excel文件的功能,感觉非常简单.现在试着做asp.net中导出excel的功能,之前用的是Microsoft.Office.Interop.Excel这个对象来实现 ...
随机推荐
- Happy 2006 poj2773
Happy 2006 Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 9049 Accepted: 3031 Descri ...
- Struts 关联DTD 文件
Struts 的xml 文件在Eclipse 中 默认是不会有提示的. 但是我们可以关联DTD 文件, 这样子就可以出现如下的struts 提示了 1. 首先得先确保自己有Struts2 的Sr ...
- 访问 IIS 元数据库失败
问题: 访问 IIS 元数据库失败.说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.Web ...
- Log4j按级别输出日志到不同文件配置分析 (转:projava)
关于LOG4J 按照级别输出日志,并按照级别输出到不同文件中的说法有很多, 网上贴的最多的log4j.properties的设置是这样的 log4j.rootLogger=info,stdout,in ...
- python爬取煎蛋图片
py2版本: #-*- coding:utf-8 -*- #from __future__ import unicode_liter import urllib,urllib2,time import ...
- 使用beanstalkd实现定制化持续集成过程中pipeline
持续集成是一种项目管理和流程模型,依赖于团队中各个角色的配合.各个角色的意识和配合不是一朝一夕能练就的,我们的工作只是提供一种方案和能力,这就是持续集成能力的服务化.而在做持续集成能力服务化的过程中, ...
- js系列教程1-数组操作全解
全栈工程师开发手册 (作者:栾鹏) 快捷链接: js系列教程1-数组操作全解 js系列教程2-对象和属性全解 js系列教程3-字符串和正则全解 js系列教程4-函数与参数全解 js系列教程5-容器和算 ...
- MySQL(十四)之数据备份与还原
前言 上一篇分享了关于MySQL事务的知识,在我们数据库中最重要的就是数据了,所以数据的备份就显的特别的重要! 为什么要备份数据? 在生产环境中我们数据库可能会遭遇各种各样的不测从而导致数据丢失, 大 ...
- [js高手之路]封装运动框架实战左右与上下滑动的焦点轮播图
在这篇文章[js高手之路]打造通用的匀速运动框架中,封装了一个匀速运动框架,我们在这个框架的基础之上,加上缓冲运动效果,然后用运动框架来做幻灯片(上下,左右),效果如下: 1 2 3 4 5 // 0 ...
- webstorm 卡死解决方法
方法1: 先在外部终端清空node-modules目录,包括隐藏文件,再打开Webstorm,打开Project Structure页面,选中工程,选择node_modules目录(没有的话自己先新建 ...