excel 操作之 xlwt(二)

  • xls :xls 为 Excel2003 版本的扩展名,支持最大行数为 65536,在 Excel 中按下 Ctrl + ↓可到达最大行的位置
  • xlsx:xlsx 为 Excel2007 版本之后的拓展名,Excel2013 支持最大行数为 1048576
    上一篇,我对 xls 的读操作介绍了一下 xlrd 模块。这次我来介绍一下 xlwt。这是一个 xls 的写操作。

1. 写操作

# 0.导入xlst模块
import xlwt
 
# 1.创建 Workbook
wb = xlwt.Workbook()
 
# 2.创建 worksheet
ws = wb.add_sheet('test_sheet')
 
# 3.写入第一行内容  ws.write(a, b, c)  a:行,b:列,c:内容
ws.write(0, 0, '球队')
ws.write(0, 1, '号码')
ws.write(0, 2, '姓名')
ws.write(0, 3, '位置')
 
# 保存文件
wb.save('./myExcel.xls')

excel 操作之 xlwt(二)

2. 写入一些数据:

excel 操作之 xlwt(二)

3. 合并单元格操作:


import xlwt
workbook = xlwt.Workbook()
worksheet = workbook.add_sheet('My sheet')
# 合并第0行的第0列到第3列。
worksheet.write_merge(0, 0, 0, 3, 'First Merge')
font = xlwt.Font()
font.blod = True
 
pattern_top = xlwt.Pattern()
pattern_top.pattern = xlwt.Pattern.SOLID_PATTERN
pattern_top.pattern_fore_colour = 5
 
 
style = xlwt.XFStyle()
style.font = font
style.pattern = pattern_top
 
# 合并第1行到第2行的第0列到第3列。
worksheet.write_merge(1, 2, 0, 3, 'Second Merge', style)
 
worksheet.write_merge(4, 6, 3, 6, 'My merge', style)
 
workbook.save('E:\\test\\xls_xlwt\Merge_cell.xls')

excel 操作之 xlwt(二)

4. 设置列宽

xlwt 中列宽的值表示方法:默认字体 0 的 1/256 为衡量单位。其创建时使用的默认宽度为 2960,即 11 个字符 0 的宽度。所以我们在设置列宽时可以使用如下办法:
width = 256 * 20    # 256 为衡量单位,20 表示 20 个字符宽度
           那接下来完成我们的程序:

import xlwt

workbook = xlwt.Workbook()

worksheet = workbook.add_sheet('My sheet1')

worksheet.write(0, 0, 'My cell Contents')

worksheet.col(0).width = 256 * 20  # Set the column width
worksheet.col(2).width = 8888  # Set the column width

workbook.save('E:\\test\\xls_xlwt\Excel_cell_width.xls')

创建 workbook 对象、sheet 工作表;指定单元格写入内容;利用索引找出列索引,直接写宽度。

效果图:
excel 操作之 xlwt(二)

5. 设置行高

import xlwt
 
workbook = xlwt.Workbook(encoding='utf-8')  # Create workbook
sheet = workbook.add_sheet('My sheet1')  # Create sheet
first_col = sheet.col(0)
sec_col = sheet.col(1)
 
 
first_col.width = 256 * 20  # Set the column width
tall_style = xlwt.easyxf('font:height 720')  # 36pt
first_row = sheet.row(0)
first_row.set_style(tall_style)
 
workbook.save('E:\\test\\xls_xlwt\Excel_row_height.xls')

效果图:
excel 操作之 xlwt(二)