Python xlwt库Excel操作全指南:从安装到高级样式设置
本文详细介绍Python中xlwt库的使用,涵盖安装、创建Excel文件、写入数据及高级格式设置。内容包含字体、颜色、对齐、超链接、公式、日期格式及单元格合并与边框设置,提供完整代码示例,帮助开发者高效处理Excel数据导出任务。
在使用xlwt库之前,首先需要确保环境已安装该库。通过pip命令即可快速完成安装,具体指令为:。
pip install xlwt创建Excel文件并写入数据是基础操作。首先导入xlwt模块,创建一个指定编码(如utf-8)的Workbook对象,随后添加一个工作表(Sheet)。使用worksheet.write方法,指定行、列索引及要写入的标签内容,最后调用save方法保存为xls文件。示例代码如下:。
import xlwt
# 创建一个workbook并设置编码
workbook = xlwt.Workbook(encoding = 'utf-8')
# 添加sheet
worksheet = workbook.add_sheet('飞兔小哥')
# 写入excel, 参数对应 行, 列, 值
worksheet.write(1,0, label = '我爱autofelix')
# 保存
workbook.save('xlwt教学.xls')若需为单元格设置特定样式,如字体、加粗、下划线或斜体,需借助XFStyle和Font对象。首先初始化样式对象,接着创建字体对象并设置名称(如Times New Roman)、加粗、下划线及斜体属性,最后将字体对象赋值给样式对象的font属性。写入单元格时传入该样式对象即可生效。完整代码示例如下:。
import xlwt
workbook = xlwt.Workbook(encoding = 'ascii')
worksheet = workbook.add_sheet('飞兔小哥')
# 初始化样式
style = xlwt.XFStyle()
# 为样式创建字体
font = xlwt.Font()
# 黑体
font.name = 'Times New Roman'
font.bold = True
# 下划线
font.underline = True
# 斜体字
font.italic = True
# 设定样式
style.font = font
# 带样式的写入
worksheet.write(0, 0, '带样式的单元格', style)
# 保存文件
workbook.save('xwlt单元格样式教学.xls')调整单元格宽度可通过worksheet.col方法实现。在写入数据后,调用worksheet.col(列索引).width属性并赋予数值(如3000)来设定列宽,最后保存文件。示例代码如下:。
import xlwt
workbook = xlwt.Workbook()
worksheet = workbook.add_sheet('飞兔小哥')
worksheet.write(0, 0,'我爱autofelix')
# 设置单元格宽度
worksheet.col(0).width = 3000
workbook.save('xwlt单元格宽度教学.xls')设置单元格背景色需使用Pattern对象。创建Pattern实例后,将其pattern属性设为SOLID_PATTERN,并通过pattern_fore_colour属性指定颜色索引(0-63,如5代表蓝色)。随后将Pattern对象赋值给XFStyle对象的pattern属性,在写入单元格时应用该样式。注意代码中需正确导入xlwt并保存文件。完整代码示例如下:。
import xlwtworkbook = xlwt.Workbook()worksheet = workbook.add_sheet('飞兔小哥')# 创建模式对象Create the Patternpattern = xlwt.Pattern()# May be: NO_PATTERN, SOLID_PATTERN, or 0x00 through 0x12pattern.pattern = xlwt.Pattern.SOLID_PATTERN#设置模式颜色 May be: 8 through 63. 0 = Black, 1 = White, 2 = Red, 3 = Green, 4 = Blue, 5 = Yellow, 6 = Magenta, 7 = Cyan, 16 = Maroon, 17 = Dark Green, 18 = Dark Blue, 19 = Dark Yellow , almost brown), 20 = Dark Magenta, 21 = Teal, 22 = Light Gray, 23 = Dark Gray, the list goes on...pattern.pattern_fore_colour = 5# 创建样式对象Create the Patternstyle = xlwt.XFStyle()# 将模式加入到样式对象Add Pattern to Stylestyle.pattern = pattern#向单元格写入内容时使用样式对象styleworksheet.write(0, 0, '单元格内容', style)workbook.save('xwlt单元格背景色教学.xls')import xlwt
workbook = xlwt.Workbook()
worksheet = workbook.add_sheet('飞兔小哥')
# 创建模式对象Create the Pattern
pattern = xlwt.Pattern()
# May be: NO_PATTERN, SOLID_PATTERN, or 0x00 through 0x12
pattern.pattern = xlwt.Pattern.SOLID_PATTERN
#设置模式颜色 May be: 8 through 63. 0 = Black, 1 = White, 2 = Red, 3 = Green, 4 = Blue, 5 = Yellow, 6 = Magenta, 7 = Cyan, 16 = Maroon, 17 = Dark Green, 18 = Dark Blue, 19 = Dark Yellow , almost brown), 20 = Dark Magenta, 21 = Teal, 22 = Light Gray, 23 = Dark Gray, the list goes on...
pattern.pattern_fore_colour = 5
# 创建样式对象Create the Pattern
style = xlwt.XFStyle()
# 将模式加入到样式对象Add Pattern to Style
style.pattern = pattern
#向单元格写入内容时使用样式对象style
worksheet.write(0, 0, '单元格内容', style)
workbook.save('xwlt单元格背景色教学.xls')控制单元格内容对齐方式需使用Alignment对象。创建Alignment实例后,通过horz属性设置水平对齐(如HORZ_CENTER),通过vert属性设置垂直对齐(如VERT_CENTER)。将Alignment对象赋值给XFStyle对象的alignment属性,写入单元格时应用该样式。示例代码如下:。
import xlwt
workbook = xlwt.Workbook()
worksheet = workbook.add_sheet('飞兔小哥')
# 创建对其格式的对象 Create Alignment
alignment = xlwt.Alignment()
#水平居中 May be: HORZ_GENERAL, HORZ_LEFT, HORZ_CENTER, HORZ_RIGHT, HORZ_FILLED, HORZ_JUSTIFIED, HORZ_CENTER_ACROSS_SEL, HORZ_DISTRIBUTED
alignment.horz = xlwt.Alignment.HORZ_CENTER
#我上下对齐 May be: VERT_TOP, VERT_CENTER, VERT_BOTTOM, VERT_JUSTIFIED, VERT_DISTRIBUTED
alignment.vert = xlwt.Alignment.VERT_CENTER
#创建样式对象 Create Style
style = xlwt.XFStyle()
# 将格式Alignment对象加入到样式对象Add Alignment to Style
style.alignment = alignment
#写入的时候调用样式style
worksheet.write(0, 0, '单元居中', style)
workbook.save('xlwt单元格对齐教学.xls')在单元格中添加超链接,可使用xlwt.Formula方法写入HYPERLINK函数。公式格式为'HYPERLINK("URL";"显示文本")',将其写入指定单元格后保存,即可生成可点击的超链接。示例代码如下:。
import xlwt
workbook = xlwt.Workbook()
worksheet = workbook.add_sheet('飞兔小哥')
worksheet.write(0, 0, xlwt.Formula('HYPERLINK("https://www.baidu.com";"百度")'))
workbook.save('xwlt单元格超链接教学.xls')在Excel单元格中使用公式,可通过xlwt.Formula指定公式字符串。例如,先在第一行写入数值,然后在后续单元格中使用Formula('A1*B1')或Formula('SUM(A1,B1)')来引用并计算其他单元格的值。保存文件后,Excel打开时将自动计算结果。示例代码如下:。
import xlwt
workbook = xlwt.Workbook()
worksheet = workbook.add_sheet('飞兔小哥')
worksheet.write(0, 0, 5) # Outputs 5 #第一行第一列5
worksheet.write(0, 1, 2) # Outputs 2 #第一行第二列2
#(A1[5] * A2[2]) 第二行第一列,输出第一行数字乘积
worksheet.write(1, 0, xlwt.Formula('A1*B1'))
#(A1[5] + A2[2]) 第二行第二列,输出第一行数字之和
worksheet.write(1, 1, xlwt.Formula('SUM(A1,B1)'))
workbook.save('xwlt添加公式教学.xls')在单元格中输入日期并格式化,需导入datetime模块。创建XFStyle对象后,设置其num_format_str属性为日期格式字符串(如'M/D/YY')。使用datetime.datetime.now()获取当前时间,写入单元格时应用该样式,保存为xlsx或xls文件即可。示例代码如下:。
import xlwt
import datetime
workbook = xlwt.Workbook()
worksheet = workbook.add_sheet('飞兔小哥')
style = xlwt.XFStyle()
#其他格式包括: D-MMM-YY, D-MMM, MMM-YY, h:mm, h:mm:ss, h:mm, h:mm:ss, M/D/YY h:mm, mm:ss, [h]:mm:ss, mm:ss.0
style.num_format_str = 'M/D/YY'
worksheet.write(0, 0, datetime.datetime.now(), style)
workbook.save('xwlt日期格式教学.xlsx')合并单元格可使用worksheet.write_merge方法,指定起始行、结束行、起始列、结束列及内容。若需对合并后的单元格应用样式(如加粗字体),需先创建Font和XFStyle对象,将字体样式加入样式对象,然后在write_merge调用时传入该样式。示例代码如下:。
import xlwt
workbook = xlwt.Workbook()
worksheet = workbook.add_sheet('飞兔小哥')
worksheet.write_merge(0, 1, 0, 3, '合并从第一行到第二行,第一列到第四列')
#创建字体示例
font = xlwt.Font()
#bold设置为黑体字
font.bold = True
# Create Style
style = xlwt.XFStyle()
# Add Bold Font to Style
style.font = font
worksheet.write_merge(2,3, 0, 3, '合并从第三行到第四行,第一列到第四列', style)
workbook.save('xwlt合并单元格教学.xls')为单元格添加边框,需创建Borders对象并分别设置left、right、top、bottom属性为所需线型(如DASHED虚线),同时设置对应的颜色属性(如0x40)。将Borders对象赋值给XFStyle对象的borders属性,写入单元格时应用该样式。完整代码示例如下:。
import xlwtworkbook = xlwt.Workbook()worksheet = workbook.add_sheet('飞兔小哥')# 创建边框对象Create Bordersborders = xlwt.Borders()#对边框对象进行操作,指定边框上下左右的边框类型为虚线# DASHED虚线# NO_LINE没有# THIN实线# May be: NO_LINE, THIN, MEDIUM, DASHED, DOTTED, THICK, DOUBLE, HAIR, MEDIUM_DASHED, THIN_DASH_DOTTED, MEDIUM_DASH_DOTTED, THIN_DASH_DOT_DOTTED, MEDIUM_DASH_DOT_DOTTED, SLANTED_MEDIUM_DASH_DOTTED, or 0x00 through 0x0D.borders.left = xlwt.Borders.DASHEDborders.right = xlwt.Borders.DASHEDborders.top = xlwt.Borders.DASHEDborders.bottom = xlwt.Borders.DASHED#指定上下左右的边框颜色为0x40borders.left_colour = 0x40borders.right_colour = 0x40borders.top_colour = 0x40borders.bottom_colour = 0x40# Create Style #创建样式对象style = xlwt.XFStyle()# 将设置好的边框对象borders 加到样式对象style中。Add Borders to Stylestyle.borders = borders#向单元格第一行第一列写入“单元格内容”,并使用创建好的样式对象styleworksheet.write(0, 0, '单元格内容', style)workbook.save('xwlt添加边框教学.xls')import xlwt
workbook = xlwt.Workbook()
worksheet = workbook.add_sheet('飞兔小哥')
# 创建边框对象Create Borders
borders = xlwt.Borders()
#对边框对象进行操作,指定边框上下左右的边框类型为虚线
# DASHED虚线
# NO_LINE没有
# THIN实线
# May be: NO_LINE, THIN, MEDIUM, DASHED, DOTTED, THICK, DOUBLE, HAIR, MEDIUM_DASHED, THIN_DASH_DOTTED, MEDIUM_DASH_DOTTED, THIN_DASH_DOT_DOTTED, MEDIUM_DASH_DOT_DOTTED, SLANTED_MEDIUM_DASH_DOTTED, or 0x00 through 0x0D.
borders.left = xlwt.Borders.DASHED
borders.right = xlwt.Borders.DASHED
borders.top = xlwt.Borders.DASHED
borders.bottom = xlwt.Borders.DASHED
#指定上下左右的边框颜色为0x40
borders.left_colour = 0x40
borders.right_colour = 0x40
borders.top_colour = 0x40
borders.bottom_colour = 0x40
# Create Style #创建样式对象
style = xlwt.XFStyle()
# 将设置好的边框对象borders 加到样式对象style中。Add Borders to Style
style.borders = borders
#向单元格第一行第一列写入“单元格内容”,并使用创建好的样式对象style
worksheet.write(0, 0, '单元格内容', style)
workbook.save('xwlt添加边框教学.xls')本文系统介绍了Python xlwt库在Excel操作中的核心功能,包括基础写入、样式定制(字体、颜色、对齐)、高级功能(超链接、公式、日期)以及单元格合并与边框设置。掌握这些技巧,可有效提升数据导出与报表生成的效率。
以上就是本文的全部内容,希望能为读者提供实用的Python xlwt操作指南。如果您觉得有帮助,欢迎持续关注本站以获取更多技术更新与教程。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













