如何使用openpyxl设置单元格文本从右到左排列?
单元格内部文本从右到左排列实现方案
以下是不同操作场景下的可行实现方法:
- 如果你使用
openpyxl库操作Excel文件
可以直接调整单元格alignment属性的readingOrder参数实现需求,参数取值对应规则:0=跟随上下文、1=左到右、2=右到左。- 导入依赖:
from openpyxl.styles import Alignment - 单个单元格设置示例:
sheet["A1"].alignment = Alignment(readingOrder=2) - 批量区域设置示例:
该设置和你已经用到的全局工作表右到左配置# 遍历1-100行、1-5列的所有单元格统一设置 for row in sheet.iter_rows(min_row=1, max_row=100, min_col=1, max_col=5): for cell in row: cell.alignment = Alignment(readingOrder=2)sheet.sheet_view.rightToLeft = True不冲突,两者同时开启可以完美适配阿拉伯语、希伯来语等从右到左书写语言的全页面显示需求。 - 导入依赖:
- 如果你使用
xlwings库操作Excel文件
直接调用单元格api的ReadingOrder属性设置即可:sheet.range("A1").api.ReadingOrder = 2 - 如果你使用pandas导出Excel时需要设置该属性
可以指定engine='openpyxl'导出文件后,再用上述openpyxl的规则遍历单元格批量设置即可。
内容的提问来源于stack exchange,提问作者Shady Atef
相关产品推荐
相关产品推荐

