Python使用xlwt模块 操作Excel文件

导出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 StringIOimport 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
时间: 2024-08-24 19:13:09

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

python 操作Excel文件

1   安装xlrd.xlwt.xlutils cmd下输入: pip install xlrd        #读取excel pip install xlwt        #写入excel pip install xlutils      #操作 Excel 文件的实用工具,如复制.分割.筛选等 2   模块的基本用法: xlrd模块用于读取excel文件内容,xlwt用于写入数据,xlutils复制 2.1  打开excel文件 myworkbook = xlrd.open_workbo

Python openpyxl、pandas操作Excel方法简介与具体实例

本篇重点讲解windows系统下 Python3.5中第三方excel操作库-openpyxl: 其实Python第三方库有很多可以操作Excel,如:xlrd,xlwt,xlwings甚至注明的数据分析模块Pandas也提供pandas.read_excel.pandas.DataFrame.to_excel功能. 那么openpyxl的库有哪些优缺点呢: 优势: 1.openpyxl提供对pandas的dataframe对象完美支持: 2.openpyxl支持后台静默打开excel文件: 3

python3 接口测试数据驱动之操作 excel 文件

18.4   操作 excel 文件 Python 中一般使用 xlrd 库来读取 Excel 文件, xlrd 库是 Python 的第三方库. 18.4.1 xlrd 库安装 Xlrd 库跟其他第三方库一样,都是通过 pip install xlrd 命令来安装. 安装成功之后,在 C:\Python34\Lib\site-packages 下可以看到相应的Xlrd 库目录. 以下是xlrd 库下的相应模块方法 备注:喜欢研究的同学,可以去研究 xlrd 库下的相应模块的实现原理. 18.4

(5) 如何用Apache POI操作Excel文件-----发现Apache的POI的Bug后,如何给Apache的POI报Bug?

在我上篇文章中,(4) 如何用Apache POI操作Excel文件-----发现了POI-3.12一个回归,通过测试POI-3.12的版本,我发现了一个bug,那么发现bug后,该如何处理.我们有2种处理方式,首先我们到Apache POI的bug库里面搜索,看别人有没有创建类似的bug,如果有创建的,这个是最好的结果,我们只需要关注这个bug什么时候被修复.如果没有搜索不到,这个时候我们就需要给Apache POI报bug了.那么,如何给Apache报Bug? 第一步: 打开https://

C#项目中操作Excel文件——使用NPOI库

转载自:http://blog.csdn.net/dcrmg/article/details/52356236# 感谢-牧野- 实际C#项目中经常会涉及到需要对本地Excel文件进行操作,特别是一些包含数据记录.分析.汇总功能模块的项目.常用的操作Excel文件的方法主要有三个: 1. OleDb: 这种方式是把整个Excel文件当做一个数据源来进行数据的读取操作. 优点:实现方式简单,读取速度快: 缺点:读取Excel数据的过程不太灵活,对内存的占用比较高,当数据量变的很大时,容易由于内存空间

临时数据库之python用sqlite3模块操作sqlite

SQLite是一个包含在C库中的轻量级数据库.它并不需要独立的维护进程,并且允许使用非标准变体(nonstandard variant)的SQL查询语句来访问数据库. 一些应用可是使用SQLite保存内部数据.它也可以在构建应用原型的时候使用,以便于以后转移到更大型的数据库. SQLite的主要优点: 1. 一致性的文件格式: 在SQLite的官方文档中是这样解释的,我们不要将SQLite与Oracle或PostgreSQL去比较,与我们自定义格式的数据文件相比,SQLite不仅提供了很好的 移

java使用POI操作excel文件,实现批量导出,和导入

一.POI的定义 JAVA中操作Excel的有两种比较主流的工具包: JXL 和 POI .jxl 只能操作Excel 95, 97, 2000也即以.xls为后缀的excel.而poi可以操作Excel 95及以后的版本,即可操作后缀为 .xls 和 .xlsx两种格式的excel. POI全称 Poor Obfuscation Implementation,直译为"可怜的模糊实现",利用POI接口可以通过JAVA操作Microsoft office 套件工具的读写功能.官网:htt

Java生成和操作Excel文件

JAVA EXCEL API:是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容.创建新的Excel文件.更新已经存在的Excel文件.使用该API非Windows操作系统也可以通过纯Java应用来处理Excel数据表.因为它是使用Java编写的,所以我们在Web应用中可以通过JSP.Servlet来调用API实现对Excel数据表的访问. 下载: 官方网站 http://www.andykhan.com/jexcelapi/ 下载最新版本(本人下的是jexcelapi_2_6

java 操作excel 文件

JAVA EXCEL API:是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容.创建新的Excel文件.更新已经存在的Excel文件.使用该API非Windows操作系统也可以通过纯Java应用来处理Excel数据表.因为它是使用Java编写的,所以我们在Web应用中可以通过JSP.Servlet来调用API实现对Excel数据表的访问. 下载: 官方网站 http://www.andykhan.com/jexcelapi/ 下载最新版本(本人下的是jexcelapi_2_6