📌  相关文章
📜  Python | 使用openpyxl模块调整Excel文件的行和列

📅  最后修改于: 2020-04-11 02:30:46             🧑  作者: Mango

先决条件:使用openpyxl 编写 Excel文件

设置单元格的高度和宽度:

工作表对象具有row_dimensionscolumn_dimensions属性,它们控制行高和列宽。工作表的row_dimensionscolumn_dimensions是类似字典的值;row_dimensions包含RowDimension对象,column_dimensions包含ColumnDimension对象。在row_dimensions中,可以使用行号(在本例中为1或2)访问对象之一。在column_dimensions中,可以使用列的字母(在本例中为A或B)访问对象之一。
代码1:设置单元格尺寸的程序。

# 导入openpyxl模块
import openpyxl
# 调用openpyxl的Workbook()函数以创建一个新的空白Workbook对象
wb = openpyxl.Workbook()
# 从active属性获取工作簿活动表.
sheet = wb.active
# 写入指定的单元格
sheet.cell(row = 1, column = 1).value = ' hello '
sheet.cell(row = 2, column = 2).value = ' everyone '
# 设置行的高度
sheet.row_dimensions[1].height = 70
# 设置列的宽度
sheet.column_dimensions['B'].width = 20
# 保存文件
wb.save('dimension.xlsx')

输出:

合并单元格:

可以使用merge_cells()工作表方法将矩形区域的单元格合并为单个单元格。参数to merge_cells()是要合并的矩形区域的左上和右下单元格的单个字符串。
代码2:合并单元的程序。

import openpyxl
wb = openpyxl.Workbook()
sheet = wb.active
# 将单元格从A2合并到D4,即A2,B2,C2,D2,A3,B3,C3,D3,A4,B4,C4和D4 .
# A2:D4将12个单元格合并为一个单元格.
sheet.merge_cells('A2:D4')
sheet.cell(row = 2, column = 1).value = 'Twelve cells join together.'
# 合并单元格C6和D6
sheet.merge_cells('C6:D6')
sheet.cell(row = 6, column = 6).value = 'Two merge cells.'
wb.save('merge.xlsx')

输出:


取消合并单元格:

要取消合并单元格,请调用unmerge_cells()工作表方法。
代码3:用于取消合并单元格的程序。

import openpyxl
wb = openpyxl.load_workbook('merge.xlsx')
sheet = wb.active
# 解开cell
sheet.unmerge_cells('A2:D4')
sheet.unmerge_cells('C6:D6')
wb.save('merge.xlsx')

输出:


设置单元格的字体样式:

要自定义单元格中的字体样式,从openpyxl.styles模块导入Font()函数。
代码4:用于设置文本字体的程序。

import openpyxl
# 从openpyxl导入字体功能
from openpyxl.styles import Font
wb = openpyxl.Workbook()
sheet = wb.active
sheet.cell(row = 1, column = 1).value = "Ankit Rai"
# 将单元格的大小设置为24
sheet.cell(row = 1, column = 1).font = Font(size = 24 )
sheet.cell(row = 2, column = 2).value = "Ankit Rai"
# 将字体样式设置为斜体
sheet.cell(row = 2, column = 2).font = Font(size = 24, italic = True)
sheet.cell(row = 3, column = 3).value = "Ankit Rai"
# 将字体样式设置为粗体
sheet.cell(row = 3, column = 3).font = Font(size = 24, bold = True)
sheet.cell(row = 4, column = 4).value = "Ankit Rai"
# 将字体名称设置为“ Times New Roman"
sheet.cell(row = 4, column = 4).font = Font(size = 24, name = 'Times New Roman')
wb.save('styles.xlsx')

输出: