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')
2. 写入一些数据:
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')
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 工作表;指定单元格写入内容;利用索引找出列索引,直接写宽度。
效果图:
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')
效果图:
那你深入了解 xlwt
我指的操作是 对单元格大小,字体大小及颜色, 表单删减、重命名 等一系列的可能出现的操作。
不是 copy。
shutils.copy 了解一下
这个 xlwt 只能新建 xls 吧,可以对已经存在的 xls 操作么?
网吧写帖,爽的一比