python 写 excel 模块 : xlwt

主要来自:[ python中使用xlrd、xlwt操作excel表格详解 ]

为了方便阅读, 我将原文两个模块拆分为两篇博文:

[ python 读 excel 模块: xlrd ]

[ python 写 excel 模块: xlwt ]

xlwt

写excel的难点可能不在构造一个workbook的本身,而是填充的数据,不过这不在范围内。在写excel的操作中也有棘手的问题,比如写入合并的单元格就是比较麻烦的,另外写入还有不同的样式。

现在完成如下一个 excel 的表格 :

python code

‘‘‘
设置单元格样式
‘‘‘

def set_style(name,height,bold=False):
    style = xlwt.XFStyle() # 初始化样式

    font = xlwt.Font() # 为样式创建字体
    font.name = name # ‘Times New Roman‘
    font.bold = bold
    font.color_index = 4
    font.height = height

    style.font = font
    # style.borders = borders
    return style

#写excel
def write_excel():
    f = xlwt.Workbook() #创建工作簿

    ‘‘‘
    创建第一个sheet:
    sheet1
    ‘‘‘
    sheet1 = f.add_sheet(u‘sheet1‘,cell_overwrite_ok=True) #创建sheet
    row0 = [u‘业务‘,u‘状态‘,u‘北京‘,u‘上海‘,u‘广州‘,u‘深圳‘,u‘状态小计‘,u‘合计‘]
    column0 = [u‘机票‘,u‘船票‘,u‘火车票‘,u‘汽车票‘,u‘其它‘]
    status = [u‘预订‘,u‘出票‘,u‘退票‘,u‘业务小计‘]

    #生成第一行
    for i in range(0,len(row0)):
        sheet1.write(0,i,row0[i],set_style(‘Times New Roman‘,220,True))

    #生成第一列和最后一列(合并4行)
    i, j = 1, 0
    while i < 4*len(column0) and j < len(column0):
        sheet1.write_merge(i,i+3,0,0,column0[j],set_style(‘Arial‘,220,True)) #第一列
        sheet1.write_merge(i,i+3,7,7) #最后一列"合计"
        i += 4
        j += 1

    sheet1.write_merge(21,21,0,1,u‘合计‘,set_style(‘Times New Roman‘,220,True))

    #生成第二列
    i = 0
    while i < 4*len(column0):
        for j in range(0,len(status)):
            sheet1.write(j+i+1,1,status[j])
        i += 4

    f.save(‘demo1.xlsx‘) #保存文件

if __name__ == ‘__main__‘:
    #generate_workbook()
    #read_excel()
    write_excel()

需要稍作解释的就是 write_merge 方法:

write_merge(x, x + m, y, w + n, string, sytle)

x表示行,y表示列,m表示跨行个数,n表示跨列个数,string表示要写入的单元格内容,style表示单元格样式。其中,x,y,w,h,都是以0开始计算的。这个和xlrd中的读合并单元格的不太一样。

如上述:sheet1.write_merge(21,21,0,1,u‘合计‘,set_style(‘Times New Roman‘,220,True),即在22行合并第1,2列,合并后的单元格内容为"合计",并设置了style。

如果需要创建多个sheet,则只要 f.add_sheet 即可。

如在上述write_excel函数里f.save(‘demo1.xlsx‘) 这句之前再创建一个sheet2,效果如下:

python code


def write_sheet2():
    sheet2 = f.add_sheet(u‘sheet2‘,cell_overwrite_ok=True) #创建sheet2
    row0 = [u‘姓名‘,u‘年龄‘,u‘出生日期‘,u‘爱好‘,u‘关系‘]
    column0 = [u‘小杰‘,u‘小胖‘,u‘小明‘,u‘大神‘,u‘大仙‘,u‘小敏‘,u‘无名‘]

    #生成第一行
    for i in range(0,len(row0)):
        sheet2.write(0,i,row0[i],set_style(‘Times New Roman‘,220,True))

    #生成第一列
    for i in range(0,len(column0)):
        sheet2.write(i+1,0,column0[i],set_style(‘Times New Roman‘,220))

    sheet2.write(1,2,‘1991/11/11‘)
    sheet2.write_merge(7,7,2,4,u‘暂无‘) #合并列单元格
    sheet2.write_merge(1,2,4,4,u‘好朋友‘) #合并行单元格

    f.save(‘demo1.xlsx‘) #保存文件

原文地址:https://www.cnblogs.com/tiantiandas/p/python_xlwt.html

时间: 2024-08-26 18:24:48

python 写 excel 模块 : xlwt的相关文章

python 读 excel 模块: xlrd

主要来自:[ python中使用xlrd.xlwt操作excel表格详解 ] 为了方便阅读, 我将原文两个模块拆分为两篇博文: [ python 读 excel 模块: xlrd ] [ python 写 excel 模块: xlwt ] xlrd 基本操作 这个过程有几个比较麻烦的问题,比如读取日期.读合并单元格内容. 读一个有2个 sheet 的 excel 文件, 读入sheet2的内容, 内容如下: 使用 python 读入 #!/usr/bin/env python # -*- cod

Python 操作excel 模块

在python 中操作excel表格,读取excel 模块常使用的是 xlrd,写excel 模块使用的是xlwt #读取excel 表 import xlrd #打开excel myWorkbook = xlrd.open_workbook('example.xls') #获取sheet 页内容 mySheets = myWorkbook.sheets() #打印sheets 页 print(mySheets,type(mySheets)) 执行后结果 [<xlrd.sheet.Sheet o

Python处理excel模块

0xlrd:读取excel文件数据 XlsxWriter:写excel文件 ====================安装模块 1:安装xlrd:pip install xlrd 2:安装XlsxWriter:pip install XlsxWriter

python写excel

1.先导入import xlwt 2.步骤:新建excel:book=xlwt.Workbook()——新建页:sheet=book.add_sheet('页的名字')——新增元素:sheet.write(0,0,'姓名')——保存excel:book.save('名字.xls') 原文地址:https://www.cnblogs.com/mihoutao/p/10831030.html

python操作Excel模块openpyxl

1. 安装 pip install openpyxl 想要在文件中插入图片文件,需要安装pillow,安装文件:PIL-fork-1.1.7.win-amd64-py2.7.exe · font(字体类):字号.字体颜色.下划线等 · fill(填充类):颜色等 · border(边框类):设置单元格边框 · alignment(位置类):对齐方式 · number_format(格式类):数据格式 · protection(保护类):写保护 2. 创建一个excel 文件,并写入不同类的内容

Python操作Excel之xlwt

#写入import xlwtworkbook=xlwt.Workbook()sheetn=workbook.add_sheet(u"测试数据",cell_overwrite_ok=True)sheetn.write(0,0,u"中国")sheetn.write(1,0,u"美国")sheetn.write(2,0,u"德国")style=xlwt.XFStyle()ft=xlwt.Font()ft.name="Tim

python——新excel模块之openpyxl

1.安装 pip install openpyxl 2.新建文件 book=openpyxl.Workbook() 3.打开sheet页(两种方式) sheet=book.active #默认的sheet页 sheet2=book.get_sheet_by_name('sheet1') #根据名称获取sheet页 4.写入方式 sheet.append(['姓名','性别','年龄','籍贯']) #整行写入 sheet.append(['倩倩','女','18','河北']) sheet['a

使用Python xlwt写excel文件

如果需要使用Python写Excel文件,首先下载或者安装xlwt. pip install xlwt 下面的这些demo应该可以帮助开发者快速上手使用xlwt写Excel文件: 创建工作簿(workbook)和工作表(sheet): import xlwt workbook = xlwt.Workbook() sheet = workbook.add_sheet("Sheet Name") 写单元格(cell): sheet.write(0, 0, 'foobar') # row,

python xlwt 写excel文件

python 写excel文件,需要xlwt库.下载地址:https://pypi.python.org/pypi/xlwt/1.1.2 下载后修改扩展名为rar, 解压后安装: 安装成功后就可以引用了.如下代码: # -*- coding: utf-8 -*- import xlwt '''往EXCEl单元格写内容,每次写一行sheet:页签名称:row:行内容列表:rowIndex:行索引'''def WriteSheetRow(sheet,rowValueList,rowIndex): i