openpyxl合并单元格

文章展示了如何使用Python的openpyxl库来操作Excel文件,具体是将Sheet1的A1到G1单元格合并,并设置内容水平居中。提供的代码示例涵盖了合并、保存以及单元格对齐方式的设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

拳不离手,曲不离口。没事找事,用全国计算机等级考试一级MS OFFICE的EXCEL操作题练练手。

打开EXCEL.xlsx,将Sheet1工作表中的A1:G1单元格合并为一个单元格,内容水平居中,并同名保存结果。

代码:

from openpyxl.styles import Alignment
from openpyxl import load_workbook

wb = load_workbook("excel.xlsx")

ws = wb["Sheet1"]

ws.merge_cells('A1:G1')

ws['A1'].alignment = Alignment(horizontal = "center", vertical = "center")

wb.save("excel.xlsx")

参考资料:

1、Merge  合并单元格

from openpyxl.workbook import Workbook

wb = Workbook()
ws = wb.active

ws.merge_cells('A2:D2')

# or equivalently
ws.merge_cells(start_row = 3, start_column =1, end_row = 3, end_column = 4)

wb.save("merge.xlsx")

2、Unmerge cells 取消单元格合并

from openpyxl.workbook import Workbook
from openpyxl import load_workbook

wb = load_workbook("merge.xlsx")
ws = wb.active

ws.unmerge_cells('A2:D2')

# or equivalently
ws.unmerge_cells(start_row = 3, start_column =1, end_row = 3, end_column = 4)

wb.save("merge.xlsx")

3、Styling merged cells  合并单元格样式()

(Working with styles — openpyxl 3.1.2 documentation

from openpyxl.styles import Border, Side, PatternFill, Font, GradientFill, Alignment
from openpyxl import Workbook

wb = Workbook()
ws = wb.active
ws.merge_cells('B2:F4')

top_left_cell = ws['B2']
top_left_cell.value = "My Cell"

thin = Side(border_style = "thin", color = "000000")
double = Side(border_style = "double", color = "ff0000")

top_left_cell.border = Border(top = double, left = thin, right = thin, bottom = double)
top_left_cell.fill = PatternFill("solid", fgColor = "DDDDDD")
top_left_cell.fill = Fill = GradientFill(stop = ("000000", "FFFFFF"))
top_left_cell.font = Font(b = True, color = "FF0000")
top_left_cell.alignment = Alignment(horizontal = "center", vertical = "center")

wb.save("styled.xlsx")

4、Alignment属性设置单元格对齐方式。

水平对齐方式

垂直对齐方式

horizontal = ‘left’

左对齐

vertical = ‘top’

 顶部对齐

horizontal = ‘center’

居中对齐

vertical = ‘center’

居中对齐

horizontal = ‘right’

右对齐

vertical = ‘bottom’

底部对齐

horizontal = ‘justify’

两端对齐

vertical = ‘justify’

两端对齐

horizontal = ‘distributed’

分散对齐

vertical = ‘distributed’

分散对齐

在使用openpyxl库中的merge_cells方法可以实现合并单元的功能。例如,可以使用以下代码合并单元: from openpyxl import Workbook wb = Workbook() ws = wb.active ws.merge_cells('A2:D2') # 或者使用ws.merge_cells(start_row=3, start_column=1, end_row=3, end_column=4) wb.save("merge.xlsx") 这段代码将合并A2到D2单元的内容。同样,使用unmerge_cells方法可以取消单元的合并。例如: from openpyxl import load_workbook wb = load_workbook("merge.xlsx") ws = wb.active ws.unmerge_cells('A2:D2') # 或者使用ws.unmerge_cells(start_row=3, start_column=1, end_row=3, end_column=4) wb.save("merge.xlsx") 这段代码将取消A2到D2单元的合并。通过使用range_string参数,还可以合并或取消合并多个单元。例如: from openpyxl import Workbook wb = Workbook() ws = wb.active ws.merge_cells(range_string='A1:B3') ws.unmerge_cells(range_string='A1:B3') wb.save("merge.xlsx") 这段代码将合并A1到B3单元,并取消合并。希望这些代码可以帮助到你。 #### 引用[.reference_title] - *1* *2* [openpyxl合并单元](https://blog.csdn.net/m0_57793634/article/details/131899401)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [【Pythonopenpyxl单元合并](https://blog.csdn.net/ovejur/article/details/123982122)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值