如何在openpyxl中设置指定单元格的文本方向为从右到左?
解决openpyxl单元格阿拉伯文本从右到左显示问题
当然可以,通过openpyxl的Alignment类设置单元格的readingOrder属性即可实现从右到左的文本方向,具体操作如下:
- 导入
openpyxl及样式模块openpyxl.styles.Alignment - 创建或加载目标工作簿与工作表
- 为指定单元格设置
readingOrder=2(1为默认从左到右,2代表从右到左)
示例代码
from openpyxl import Workbook from openpyxl.styles import Alignment # 创建工作簿并激活默认工作表 wb = Workbook() ws = wb.active # 写入带数字前缀的阿拉伯文本 target_cell = ws['A1'] target_cell.value = "1. مرحبا بالعالم" # 示例内容:1. 你好世界 # 设置单元格为从右到左读取顺序 target_cell.alignment = Alignment(readingOrder=2) # 保存工作簿 wb.save("arabic_text_example.xlsx")
批量设置示例
如果需要给整列或多个单元格统一设置从右到左方向,可通过循环实现:
# 为A列所有已使用单元格设置从右到左 for row in ws.iter_rows(min_col=1, max_col=1): for cell in row: cell.alignment = Alignment(readingOrder=2)
设置完成后,单元格内的阿拉伯文本会按照从右到左方向排版,数字前缀也会显示在正确位置。
内容的提问来源于stack exchange,提问作者JALAL
相关产品推荐
相关产品推荐

