python写excel标记文字颜色

您所在的位置:网站首页 excel标记指定文字颜色 python写excel标记文字颜色

python写excel标记文字颜色

2024-07-14 17:04| 来源: 网络整理| 查看: 265

可借鉴的网址:https://www.programcreek.com/python/example/39979/xlwt.Alignment

可以直接通过pip安装xlwt

个人理解:

xlwt中对excel操作哦时主要用了font、alignment、pattern、protection这四个。

其中:

font:主要对字体进行操作,比如字体的颜色、大小

alignment:主要是对输入内容之后的对齐方式对齐

borders:每一个单元格的格式

pattern:设置单元格的背景颜色

protection:没用过不太懂意思

一.font对字体写入的颜色设置:

copycode.gif

ef setStyle(name, height,color, bold=False):

style = xlwt.XFStyle() # 初始化样式

font = xlwt.Font() # 为样式创建字体

# 字体类型:比如宋体、仿宋也可以是汉仪瘦金书繁

font.name = name

# 设置字体颜色

font.colour_index = color

# 字体大小

font.height = height

# 定义格式

style.font = font

return style

if __name__ == '__main__':

# 创建工作簿,并指定写入的格式

f = xlwt.Workbook(encoding='utf8') # 创建工作簿

# 创建sheet,并指定可以重复写入数据的情况.设置行高度

sheet1 = f.add_sheet(u'colour', cell_overwrite_ok=False)

# 控制行的位置

column = 0;

row = 0

# 生成第一行

for i in range(0, 100):

# 参数对应:行,列,值,字体样式(可以没有)

sheet1.write(column, row, i, setStyle('Times New Roman', 400, i, False))

# 这里主要为了控制输入每行十个内容。为了查看

row = row + 1

if row % 10 ==0:

column = column + 1

row = 0

f.save(r'E:\xlwtExCEL.xls') # 保存文档

copycode.gif

步骤:

1.创建工作薄对象。

2.设置excel里面工作表的名字

3.通过font定义字体的类型、大小和颜色

4.然后通过sheet1的write方法指定行列并写入内容

效果图:

1202941-20171209171859495-1487740281.png

其中1和9看不清,可能写入的颜色为白色,并不是没有写入。(把那两个单元格的颜色改成黑色就能正常看见了);修改之后的样子

1202941-20171209172131527-1290175052.png

font中其他一些元素的属性:

font.bold = bold # 粗体

font.italic = True # 斜体

font.underline = 10 # 下划线(其中当值为9,整行的填充色为蓝色)

font.struck_out =True # 横线(比如:在一个字中 画上一横)

copycode.gif

def set_style(name, height,color, bold=False):

style = xlwt.XFStyle() # 初始化样式

font = xlwt.Font() # 为样式创建字体

# 字体类型:比如宋体、仿宋也可以是汉仪瘦金书繁

font.name = name

# 是否为粗体

font.bold = bold

# 设置字体颜色

font.colour_index = color

# 字体大小

font.height = height

# 字体是否斜体

font.italic = True

# 字体下划,当值为11时。填充颜色就是蓝色

font.underline = 0

# 字体中是否有横线struck_out

font.struck_out =True

# 定义格式

style.font = font

return style

if __name__ == '__main__':

# 创建工作簿,并指定写入的格式

f = xlwt.Workbook(encoding='utf8') # 创建工作簿

# 创建sheet,并指定可以重复写入数据的情况.设置行高度

sheet1 = f.add_sheet(u'colour', cell_overwrite_ok=False)

# 控制行的位置

column = 0;

row = 0

# 生成第一行

for i in range(0, 100):

# 参数对应:行,列,值,字体样式(可以没有)

sheet1.write(column, row, i, set_style('汉仪瘦金书繁', 400, i, False))

# 这里主要为了控制输入每行十个内容。为了查看

row = row + 1

if row % 10 ==0:

column = column + 1

row = 0

f.save(r'E:\xlwtExCEL.xls') # 保存文档

copycode.gif

字体下划underline属性值不为9的效果图:(并有加粗的效果)

1202941-20171209173732792-698101520.png

字体下划underline属性值为9的效果图:

1202941-20171209173554417-70532791.png

注 : 看出underline等于某个值时是没有下划线,而等于98时出现双下划线的效果

二.borders中设置元素边框的属性:

copycode.gif

def setStyle(name, height,color, bold=False):

style = xlwt.XFStyle() # 初始化样式

font = xlwt.Font() # 为样式创建字体

# 字体类型:比如宋体、仿宋也可以是汉仪瘦金书繁

font.name = name

# 设置字体颜色

font.colour_index = color

# 字体大小

font.height = height

# 定义格式

style.font = font

# borders.left = xlwt.Borders.THIN

# NO_LINE: 官方代码中NO_LINE所表示的值为0,没有边框

# THIN: 官方代码中THIN所表示的值为1,边框为实线

borders = xlwt.Borders()

borders.left = color

borders.left = xlwt.Borders.THIN

borders.right = color

borders.top = color

borders.bottom = color

# 定义格式

style.borders = borders

return style

if __name__ == '__main__':

# 创建工作簿,并指定写入的格式

f = xlwt.Workbook(encoding='utf8') # 创建工作簿

# 创建sheet,并指定可以重复写入数据的情况.设置行高度

sheet1 = f.add_sheet(u'colour', cell_overwrite_ok=False)

# 控制行的位置

column = 0

row = 0

# 生成第一行

for i in range(0, 100):

# 参数对应:行,列,值,字体样式(可以没有)

sheet1.write(column, row, i, setStyle('汉仪瘦金书繁', 400, i, True))

# 这里主要为了控制输入每行十个内容。为了查看

row = row + 1

if row % 10 == 0:

column = column + 1

row = 0

f.save(r'E:\xlwtExCEL.xls') # 保存文档

copycode.gif

效果图:

1202941-20171209174555214-1545897654.png

设置自己喜欢的格式,上面的图应该够用了。

三、pattern设置单元格的颜色背景颜色:

copycode.gif

def setStyle(name, height,color, bold=False):

style = xlwt.XFStyle() # 初始化样式

font = xlwt.Font() # 为样式创建字体

# 字体类型:比如宋体、仿宋也可以是汉仪瘦金书繁

font.name = name

# 设置字体颜色

font.colour_index = color

# 字体大小

font.height = height

# 定义格式

style.font = font

# borders.left = xlwt.Borders.THIN

# NO_LINE: 官方代码中NO_LINE所表示的值为0,没有边框

# THIN: 官方代码中THIN所表示的值为1,边框为实线

borders = xlwt.Borders()

borders.left = color

borders.left = xlwt.Borders.THIN

borders.right = color

borders.top = color

borders.bottom = color

# 定义格式

style.borders = borders

# 设置背景颜色

pattern = xlwt.Pattern()

# 设置背景颜色的模式

pattern.pattern = xlwt.Pattern.SOLID_PATTERN

# 背景颜色

pattern.pattern_fore_colour = color

style.pattern = pattern

return style

if __name__ == '__main__':

# 创建工作簿,并指定写入的格式

f = xlwt.Workbook(encoding='utf8') # 创建工作簿

# 创建sheet,并指定可以重复写入数据的情况.设置行高度

sheet1 = f.add_sheet(u'colour', cell_overwrite_ok=False)

# 控制行的位置

column = 0

row = 0

# 生成第一行

for i in range(0, 100):

# 参数对应:行,列,值,字体样式(可以没有)

sheet1.write(column, row, i, setStyle('汉仪瘦金书繁', 400, i, True))

# 这里主要为了控制输入每行十个内容。为了查看

row = row + 1

if row % 10 == 0:

column = column + 1

row = 0

f.save(r'E:\xlwtExCEL.xls') # 保存文档

copycode.gif

效果图:

1202941-20171209175525183-1014316864.png

四、alignment对齐方式的设置:

copycode.gif

def setStyle(name, height,color, bold=False):

style = xlwt.XFStyle() # 初始化样式

font = xlwt.Font() # 为样式创建字体

# 字体类型:比如宋体、仿宋也可以是汉仪瘦金书繁

font.name = name

# 设置字体颜色

font.colour_index = color

# 字体大小

font.height = height

# 定义格式

style.font = font

alignment = xlwt.Alignment()

alignment.horz = color

style.alignment = alignment

return style

if __name__ == '__main__':

# 创建工作簿,并指定写入的格式

f = xlwt.Workbook(encoding='utf8') # 创建工作簿

# 创建sheet,并指定可以重复写入数据的情况.设置行高度

sheet1 = f.add_sheet(u'colour', cell_overwrite_ok=False)

# 控制行的位置

column = 0

row = 0

# 生成第一行

for i in range(0, 100):

# 参数对应:行,列,值,字体样式(可以没有)

sheet1.write(column, row, i, setStyle('汉仪瘦金书繁', 400, i, True))

# 这里主要为了控制输入每行十个内容。为了查看

row = row + 1

if row % 10 == 0:

column = column + 1

row = 0

f.save(r'E:\xlwtExCEL.xls') # 保存文档

copycode.gif

效果图:

1202941-20171209180817870-586329575.png

注意:有些等于某个值时会有不同的效果

alignment还有其他的属性其他属性:

1202941-20171209180842980-2081350415.png

五、protection的使用不是很明白,网上的解释是:设置保护模式

以上是自己总结的,如果不够好可以私聊别差评,谢谢。后续更新。

小白-->叮咚

下面上传了alignment对齐方式生成的excel表格。

链接: https://pan.baidu.com/s/1o8kPJ2y

密码: dwun



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3