1 插入与删除行和列
在 Excel 中,可以方便地插入或删除行和列。openpyxl
提供了相应的方法来执行这些操作。
插入行
可以使用 Worksheet.insert_rows()
方法在指定位置插入新行。
import openpyxl
# 创建一个新的工作簿
workbook = openpyxl.Workbook()
sheet = workbook.active
# 在第一行写入数据
sheet.append(['Header1', 'Header2', 'Header3'])
# 在第二行写入数据
sheet.append([1, 2, 3])
# 在第二行插入3行空行
sheet.insert_rows(2, amount=3)
# 保存工作簿
workbook.save('insert_rows_example.xlsx')
代码解释
sheet.insert_rows(2, amount=3)
:在第二行插入3行空行。amount
参数指定插入的行数,默认值为1。
删除行
可以使用 Worksheet.delete_rows()
方法删除指定的行。
import openpyxl
# 打开现有工作簿
workbook = openpyxl.load_workbook('insert_rows_example.xlsx')
sheet = workbook.active
# 删除第二行的3行
sheet.delete_rows(2, amount=3)
# 保存工作簿
workbook.save('delete_rows_example.xlsx')
代码解释
sheet.delete_rows(2, amount=3)
:从第二行开始删除3行。
插入列
类似于插入行,可以使用 Worksheet.insert_cols()
方法插入新列。
import openpyxl
# 创建一个新的工作簿
workbook = openpyxl.Workbook()
sheet = workbook.active
# 在第一行写入数据
sheet.append(['Header1', 'Header2', 'Header3'])
# 在第二行写入数据
sheet.append([1, 2, 3])
# 在第二列插入2列空列
sheet.insert_cols(2, amount=2)
# 保存工作簿
workbook.save('insert_cols_example.xlsx')
代码解释
sheet.insert_cols(2, amount=2)
:在第二列插入2列空列。
删除列
可以使用 Worksheet.delete_cols()
方法删除指定的列。
import openpyxl
# 打开现有工作簿
workbook = openpyxl.load_workbook('insert_cols_example.xlsx')
sheet = workbook.active
# 删除第二列的2列
sheet.delete_cols(2, amount=2)
# 保存工作簿
workbook.save('delete_cols_example.xlsx')
代码解释
sheet.delete_cols(2, amount=2)
:从第二列开始删除2列。
2 隐藏与取消隐藏行和列
在 Excel 中,隐藏行和列可以使数据更清晰,openpyxl
提供了对行和列进行隐藏和取消隐藏的功能。
隐藏行和列
可以通过设置 Worksheet.row_dimensions
和 Worksheet.column_dimensions
的 hidden
属性来隐藏行和列。
import openpyxl
# 创建一个新的工作簿
workbook = openpyxl.Workbook()
sheet = workbook.active
# 在第一行写入数据
sheet.append(['Header1', 'Header2', 'Header3'])
# 在第二行写入数据
sheet.append([1, 2, 3])
# 隐藏第二行
sheet.row_dimensions[2].hidden = True
# 隐藏第二列
sheet.column_dimensions['B'].hidden = True
# 保存工作簿
workbook.save('hide_rows_cols_example.xlsx')
代码解释
sheet.row_dimensions[2].hidden = True
:隐藏第二行。sheet.column_dimensions['B'].hidden = True
:隐藏第二列。
取消隐藏行和列
通过将 hidden
属性设置为 False
可以取消隐藏行和列。
import openpyxl
# 打开现有工作簿
workbook = openpyxl.load_workbook('hide_rows_cols_example.xlsx')
sheet = workbook.active
# 取消隐藏第二行
sheet.row_dimensions[2].hidden = False
# 取消隐藏第二列
sheet.column_dimensions['B'].hidden = False
# 保存工作簿
workbook.save('unhide_rows_cols_example.xlsx')
代码解释
sheet.row_dimensions[2].hidden = False
:取消隐藏第二行。sheet.column_dimensions['B'].hidden = False
:取消隐藏第二列。
3 调整行高与列宽
openpyxl
允许用户设置工作表中行的高度和列的宽度,以便更好地展示数据。
设置行高
可以使用 Worksheet.row_dimensions
的 height
属性来设置行高。
import openpyxl
# 创建一个新的工作簿
workbook = openpyxl.Workbook()
sheet = workbook.active
# 在第一行写入数据
sheet.append(['Header1', 'Header2', 'Header3'])
# 设置第一行的行高为40
sheet.row_dimensions[1].height = 40
# 保存工作簿
workbook.save('row_height_example.xlsx')
代码解释
sheet.row_dimensions[1].height = 40
:将第一行的行高设置为40点。
设置列宽
可以使用 Worksheet.column_dimensions
的 width
属性来设置列宽。
import openpyxl
# 创建一个新的工作簿
workbook = openpyxl.Workbook()
sheet = workbook.active
# 在第一行写入数据
sheet.append(['Header1', 'Header2', 'Header3'])
# 设置第一列的列宽为20
sheet.column_dimensions['A'].width = 20
# 保存工作簿
workbook.save('col_width_example.xlsx')
代码解释
sheet.column_dimensions['A'].width = 20
:将第一列的列宽设置为20字符。