字体格式在提升 excel 工作表中数据的视觉吸引力和可读性方面起着至关重要的作用。无论是电子表格制作、报告设计,还是简单的信息整理,设置恰当的字体格式都会对数据展示效果带来非常大的提升。excel 工作簿支持丰富多样的字体设置及调整选项,用户可以根据自己的需求定制字体的样式、大小和颜色等。本文将展示如何在 python 程序中使用 spire.xls for python 来设置或更改 excel 工作表数据的字体格式。
安装 spire.xls for python
本方案需要 spire.xls for python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它轻松安装到 vs code 中。
pip install spire.xls
如果您不清楚如何安装,请参考:如何在 vs code 中安装 spire.xls for python
为 excel 工作表不同单元格设置不同字体格式
通过使用 spire.xls for python 提供的 cellrange.style.font 属性,开发者可以对特定单元格数据的字体进行设置,如设置字体名、字体颜色、文字大小和文字样式。具体操作步骤如下:
- 创建一个 workbook 类的对象。
- 通过 workbook.worksheets[index] 属性获取指定的工作表。
- 通过 worksheet.range[int rowindex, int columnindex] 属性获取特定的单元格。
- 通过 cellrange.value 属性设置该单元格的值。
- 通过 cellrange.style.font 对象下的属性设置单元格值的字体名称、颜色、大小和样式。
- 使用 workbook.savetofile() 方法保存工作簿。
- python
from spire.xls import *
from spire.xls.common import *
# 创建一个workbook对象
workbook = workbook()
# 获取第一个工作表
sheet = workbook.worksheets[0]
# 设置字体名称
row = 1
sheet.range[row, 1].value = "字体名称"
sheet.range[row, 2].value = "宋体"
sheet.range[row, 2].style.font.fontname = "宋体"
# 设置字体大小
row = 2
sheet.range[row, 1].value = "字体大小"
sheet.range[row, 2].value = "15"
sheet.range[row, 2].style.font.size = 15
# 设置字体颜色
row = 2
sheet.range[row, 1].value = "字体颜色"
sheet.range[row, 2].value = "红色"
sheet.range[row, 2].style.font.color = color.get_red()
# 设置文本加粗
row = 2
sheet.range[row, 1].value = "加粗"
sheet.range[row, 2].value = "加粗"
sheet.range[row, 2].style.font.isbold = true;
# 设置文本斜体
row = 2
sheet.range[row, 1].value = "斜体"
sheet.range[row, 2].value = "斜体"
sheet.range[row, 2].style.font.isitalic = true
# 下划线文本
row = 2
sheet.range[row, 1].value = "下划线"
sheet.range[row, 2].value = "下划线"
sheet.range[row, 2].style.font.underline = fontunderlinetype.single
# 删除线文本
row = 2
sheet.range[row, 1].value = "删除线"
sheet.range[row, 2].value = "删除线"
sheet.range[row, 2].style.font.isstrikethrough = true
# 设置列宽
sheet.columns[0].columnwidth = 25
sheet.columns[1].columnwidth = 25
# 将工作簿保存为excel文件
workbook.savetofile("output/设置单元格字体.xlsx", excelversion.version2016)
workbook.dispose()
在 excel 工作表的一个单元格中设置多种字体格式
为了强调单元格内的特定字符,用户可以在同一单元格内混合使用多种不同的字体格式。以下是使用 spire.xls for python 在单个单元格中应用多种字体格式的操作步骤:
- 创建一个 workbook 类的对象。
- 通过 workbook.worksheets[index] 属性获取指定的工作表。
- 使用 workbook.createfont() 方法创建两个 excelfont 对象。
- 通过 worksheet.range[int row, int column] 属性获取特定的单元格,并通过 cellrange.richtext.text 属性设置富文本内容。
- 使用 richtext.setfont() 方法将两个 excelfont 对象应用于富文本。
- 使用 workbook.savetofile() 方法保存工作簿。
- python
from spire.xls import *
from spire.xls.common import *
# 创建一个workbook对象
workbook = workbook()
# 获取第一个工作表
sheet = workbook.worksheets[0]
# 创建字体1
font1 = workbook.createfont()
font1.fontname = "宋体"
font1.knowncolor = excelcolors.lightblue
font1.isbold = true
font1.size = 13
# 创建字体2
font2 = workbook.createfont()
font2.knowncolor = excelcolors.red
font2.isbold = true
font2.isitalic = true
font2.fontname = "黑体"
font2.size = 15
# 从指定单元格返回richtext对象
richtext = sheet.range["a1"].richtext
# 设置richtext对象的文本
richtext.text = "年终超级折扣,买一送一!"
# 将第一个字体应用于指定字符范围
richtext.setfont(0, 5, font1)
# 将第二个字体应用于指定字符范围
richtext.setfont(7, 11, font2)
# 设置列宽
sheet.columns[0].columnwidth = 33
# 将工作簿保存为excel文件
workbook.savetofile("output/设置单元格多字体.xlsx", excelversion.version2016)
workbook.dispose()
在 excel 工作表中更改指定单元格范围的字体格式
spire.xls for python 提供的 cellstyle 类能够对单元格格式进行设置,如设置填充颜色、文本对齐方式和字体格式。用户可以创建一个单元格样式,再使用 cellrange.applystyle() 方法将其应用于指定的单元格范围,或使用 worksheet.applystyle() 方法将其应用于整个工作表。使用 spire.xls for python 更改指定单元格范围字体格式的详细操作步骤如下:
- 创建一个 workbook 类的对象。
- 使用 workbook.loadfromfile() 方法加载 excel 文件。
- 使用 workbook.worksheets[index] 属性获取特定的工作表。
- 使用 workbook.styles.add() 方法创建一个 cellstyle 对象,并通过 cellstyle.font 属性设置字体格式。
- 使用 cellrange.applystyle() 方法将单元格样式应用于指定单元格范围。
- 使用 workbook.savetofile() 方法保存工作簿。
- python
from spire.xls import *
from spire.xls.common import *
# 创建一个workbook对象
workbook = workbook()
# 加载一个示例excel文件
workbook.loadfromfile("示例.xlsx")
# 获取第一个工作表
sheet = workbook.worksheets[0]
# 创建一个cellstyle对象
fontstyle = workbook.styles.add("headerfontstyle")
# 设置字体颜色、大小和样式
fontstyle.font.color = color.get_white()
fontstyle.font.isitalic = true
fontstyle.font.size = 16
# 创建一个cellstyleflag对象,将fontcolor、fontbold和fontsize属性设置为true
flag = cellstyleflag()
flag.fontcolor = true
flag.fontsize = true
flag.fontitalic = true
# 将单元格样式应用于标题行
sheet.range[1, 1, 1, 8].applystyle(fontstyle, flag)
# 将单元格样式应用于整个工作表
# sheet.applystyle(fontstyle)
# 将工作簿保存为另一个excel文件
workbook.savetofile("output/设置单元格范围字体.xlsx", excelversion.version2016)
workbook.dispose()
申请临时 license
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用javascript。获取有效期 30 天的临时许可证。