Python|使用 openpyxl 模块调整 excel 文件的行和列
先决条件:使用openpyxl编写Excel文件|阅读
设置单元格的高度和宽度:
工作表对象具有控制行高和列宽的row_dimensions
和column_dimensions
属性。工作表的row_dimensions
和column_dimensions
是类似字典的值; row_dimensions 包含 RowDimension 对象,column_dimensions 包含 ColumnDimension 对象。在 row_dimensions 中,可以使用行号(在本例中为 1 或 2)访问其中一个对象。在 column_dimensions 中,可以使用列的字母(在本例中为 A 或 B)访问其中一个对象。
代码#1:设置单元格尺寸的程序。
# import openpyxl module
import openpyxl
# Call a Workbook() function of openpyxl
# to create a new blank Workbook object
wb = openpyxl.Workbook()
# Get workbook active sheet
# from the active attribute.
sheet = wb.active
# writing to the specified cell
sheet.cell(row = 1, column = 1).value = ' hello '
sheet.cell(row = 2, column = 2).value = ' everyone '
# set the height of the row
sheet.row_dimensions[1].height = 70
# set the width of the column
sheet.column_dimensions['B'].width = 20
# save the file
wb.save('dimension.xlsx')
输出:
合并单元格:
可以使用 merge_cells() 表单方法将矩形区域的单元格合并为单个单元格。 merge_cells()
的参数是要合并的矩形区域的左上角和右下角单元格的单个字符串。
代码#2:合并单元格的程序。
import openpyxl
wb = openpyxl.Workbook()
sheet = wb.active
# merge cell from A2 to D4 i.e.
# A2, B2, C2, D2, A3, B3, C3, D3, A4, B4, C4 and D4 .
# A2:D4' merges 12 cells into a single cell.
sheet.merge_cells('A2:D4')
sheet.cell(row = 2, column = 1).value = 'Twelve cells join together.'
# merge cell C6 and 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
# unmerge the cells
sheet.unmerge_cells('A2:D4')
sheet.unmerge_cells('C6:D6')
wb.save('merge.xlsx')
输出:
设置单元格的字体样式:
要自定义单元格中的字体样式,重要的是,从 openpyxl.styles 模块导入 Font()函数。
代码#4:设置文本字体的程序。
import openpyxl
# import Font function from openpyxl
from openpyxl.styles import Font
wb = openpyxl.Workbook()
sheet = wb.active
sheet.cell(row = 1, column = 1).value = "Ankit Rai"
# set the size of the cell to 24
sheet.cell(row = 1, column = 1).font = Font(size = 24 )
sheet.cell(row = 2, column = 2).value = "Ankit Rai"
# set the font style to italic
sheet.cell(row = 2, column = 2).font = Font(size = 24, italic = True)
sheet.cell(row = 3, column = 3).value = "Ankit Rai"
# set the font style to bold
sheet.cell(row = 3, column = 3).font = Font(size = 24, bold = True)
sheet.cell(row = 4, column = 4).value = "Ankit Rai"
# set the font name to 'Times New Roman'
sheet.cell(row = 4, column = 4).font = Font(size = 24, name = 'Times New Roman')
wb.save('styles.xlsx')
输出: