导出Excel文件

    1. 使用xlwt模块 import xlwt

import xlwt    # 导入xlwt

# 新建一个excel文件

   file = xlwt.Workbook() #注意这里的Workbook首字母是大写,无语吧

   # 新建一个sheet

    table = file.add_sheet('sheet name')

# 写入数据table.write(行,列,value)

   table.write(0,0,'test')

# 如果对一个单元格重复操作,会引发

   returns error:
       # Exception: Attempt to overwrite cell:
     # sheetname=u'sheet 1' rowx=0 colx=0

    # 所以在打开时加cell_overwrite_ok=True 解决

    table = file.add_sheet('sheet name',cell_overwrite_ok=True )

    file.save('demo.xls')  # 保存文件

另外,使用style

style = xlwt.XFStyle() # 初始化样式

font = xlwt.Font() #为样式创建字体

font.name = 'Times New Roman'

font.bold = True

style.font = font #为样式设置字体

table.write(0, 0, 'some bold Times text', style) # 使用样式

xlwt 允许单元格或者整行地设置格式。还可以添加链接以及公式。可以阅读源代码,那里有例子:

dates.py, 展示如何设置不同的数据格式

hyperlinks.py, 展示如何创建超链接 (hint: you need to use a formula)

merged.py, 展示如何合并格子

row_styles.py, 展示如何应用Style到整行格子中.

   例子一:

import xlwt
      wbk = xlwt.Workbook()
      sheet = wbk.add_sheet('sheet 1')
      # indexing is zero based, row then column
      sheet.write(0,1,'test text')
      sheet.write(1,1,'test text')
      wbk.save('test2.xls')  默认保存在桌面上

例子二:

import StringIO
import xlwt as ExcelWrite # 引入模块 def _make_excel(self, data_array):
if not data_array:
return ''
# data_array = sorted(data_array, key=lambda x:x['CreateTime']) # 按照数据的时间进行排序 # style_del = ExcelWrite.XFStyle()
# style_del.alignment.wrap = 1 header = [u'下单日期',u'出发时间',u'出发时段',u'上车地点',u'下车地点',u'乘客名',u'司机信息',u'口岸',u'车队',u'是否8座',u'支付渠道',u'支付金额',u'车队报价',u'备注',u'备注2', u'订单来源']
xls = ExcelWrite.Workbook(style_compression=2)
sheet = xls.add_sheet("Sheet1")
sheet.col(3).width = (30*367) # 设置表格的宽度
sheet.col(4).width = (30*367)
sheet.col(5).width = (20*367)
sheet.col(6).width = (20*367)
sheet.col(11).width = (20*367)
sheet.col(13).width = (20*367)
i = 0
# 写表头
for each_header in header:
sheet.write(0, i, each_header)
i += 1
row = 1
     # 填充每行的数据
for each_row in data_array:
col = 0
       # 填充一行的每列数据
for each_col in header:
if each_col in (u'下单日期', u'出发时间'):
# self 对象表示类本身
style = self._make_date_style() # 获取样式
else:
style = self._make_normal_style() if each_row['Status'] == 2:
badBG = ExcelWrite.Pattern() # 设置背景
badBG.pattern = badBG.SOLID_PATTERN
# 灰色
badBG.pattern_fore_colour = 23
style.pattern = badBG
# 删除线
style.font.struck_out = True
sheet.write(row, col, each_row[each_col], style)
col += 1
row += 1
sf = StringIO.StringIO() # StringIO 此模块可以学习下
xls.save(sf)
contents = sf.getvalue()
sf.close()
return contents def _make_normal_style(self):
style_normal = ExcelWrite.XFStyle() # 设置excel的样式
style_normal.alignment.wrap = 1
return style_normal def _make_date_style(self):
style_date = ExcelWrite.XFStyle()
style_date.alignment.wrap = 1
style_date.num_format_str = u'mm月dd日'
return style_date # self 对象是继承了tornado.web.RequestHandler的派生类
def _send_download(self, file_name, data):
self.set_header('Content-Type', 'application/octet-stream')
self.set_header('Content-Disposition', 'attachment; filename=' + file_name)
self.write(data) # 将数据写回到网页客户端
self.finish() # 调用生成excel数据
excel_data = self._make_excel(data)
if excel_data:
self._send_download('1.xls', excel_data)
else:
pass

Python使用xlwt模块 操作Excel文件的更多相关文章

  1. 用Python的pandas框架操作Excel文件中的数据教程

    用Python的pandas框架操作Excel文件中的数据教程 本文的目的,是向您展示如何使用pandas 来执行一些常见的Excel任务.有些例子比较琐碎,但我觉得展示这些简单的东西与那些你可以在其 ...

  2. python使用xlrd模块读写Excel文件的方法

    本文实例讲述了python使用xlrd模块读写Excel文件的方法.分享给大家供大家参考.具体如下: 一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi ...

  3. python xlwt模块生成excel文件并写入数据 xlrd读取数据

    python中一般使用 xlwt (excel write)来生成Excel文件(可以控制单元格格式),用 xlrd 来读取Excel文件,用xlrd读取excel是不能对其进行操作的. 1.xlrd ...

  4. 记录python接口自动化测试--把操作excel文件的方法封装起来(第五目)

    前面补充了如何来操作excel文件,这次把如何获取excel文件的sheet对象.行数.单元格数据的方法进行封装,方便后面调用 handle_excel.py# coding:utf-8 import ...

  5. Python自动化办公之操作Excel文件

    模块导入 import openpyxl 读取Excel文件 打开Excel文件 workbook = openpyxl.load_workbook("test.xlsx") 输出 ...

  6. Python使用openpyxl模块操作Excel表格

    ''' Excel文件三个对象 workbook: 工作簿,一个excel文件包含多个sheet. sheet:工作表,一个workbook有多个,表名识别,如"sheet1",& ...

  7. xlwt 模块 操作excel

    1.xlwt 基本用法 import xlwt #1 新建文件 new_file = open('test.xls', 'w') new_file.close() #2 创建工作簿 wookbook ...

  8. Python小实验——读&写Excel文件内容

    安装xlrd模块和xlwt模块 读取Excel文件了内容需要额外的模块-- \(xlrd\),在官网上可以找到下载:https://pypi.python.org/pypi/xlrd#download ...

  9. python第三方库——xlrd和xlwt操作Excel文件学习

    python第三方库——xlrd和xlwt操作Excel文件学习 1安装: C:\Users\Lenovo>pip install xlwtCollecting xlwt  Downloadin ...

随机推荐

  1. win10配置labelImg

    [引言]在目标检测中,需要用图像标注工具标注图像,如Labelme . labelImg等,本文使用的是LabelImg ,LabelImg在Ubuntu下很好部署, 在win10中有些地方要注意下, ...

  2. 洛谷 : P3374 【模板】树状数组 1 P3368 【模板】树状数组 2

    ******************************************************************************** 属于模板题了,一个单点修改区间询问,一 ...

  3. python随机数random

    1.random.random()方法用于生成一个0到1的随机浮点数:0<=n<1.0 2.random.uniform(a,b):用于生成一个指定范围内的随机浮点数,两格参数中,其中一个 ...

  4. 在html中使用thymeleaf编写通用模块

    在编写页面时,常常会需要用到通用模块,比如header部分.footer部分等. 项目前端使用的是themeleaf模板引擎,下面简单介绍下使用themeleaf写header通用模块: 1. 通用部 ...

  5. appium运行时每次默认弹出appiumsetting与unlock重装,关闭这两个步骤的方法

    找到appium安装目录,可以在 appium 源码里(C:\Program Files (x86)\Appium\node_modules\appium\lib\devices\android)注释 ...

  6. 定时任务Job

    package com.cfets.ts.u.limitapi.job; import java.text.SimpleDateFormat; import java.util.Date; impor ...

  7. Maven更新后本地仓库jar后缀带有 lastUpdated

    Maven在下载仓库中找不到相应资源时,会生成一个.lastUpdated为后缀的文件 1.需要通过mvn compile -U查明下载失败的原因,一般就是setting.xml中的配置问题 2.注意 ...

  8. py库: django (web框架)

    http://www.imooc.com/learn/736 Python-走进Requests库 http://www.imooc.com/learn/790 django入门与实践 http:// ...

  9. python中的swapcase

    swapcase()将字符串中的字母小写变大写.大写变小写,举个例子: 1 a = "hELLO wORLD" 2 a1 = a.swapcase() 3 print(a1) 输出 ...

  10. RecyclerView下拉刷新上拉加载更多

    现在Android里都建议用RecyclerView代替ListView和GridView,所以下拉刷新和上拉加载更多也需要实现.下拉刷新可以用SwipeRefreshLayout 包裹Recycle ...