openpyxl 核心是 Workbook、Worksheet、Cell 三层结构,纯 Python 操作 Excel 文件;新建用 Workbook(),加载用 load_workbook() 并注意 read_only=False;支持坐标或行列索引读写单元格,需显式 save() 保存,避开已打开文件和中文路径乱码问题。
用 openpyxl 读写 Excel 文件,核心在于理解工作簿(Workbook)、工作表(Worksheet)、单元格(Cell)三层结构,不依赖 Excel 软件,纯 Python 操作,适合自动化报表、数据清洗和批量处理。
新建空工作簿直接调用 Workbook();加载已有文件用 load_workbook()。注意:后者默认只读模式(read_only=True)会限制单元格赋值,如需修改务必设为 False(默认值)。
Sheet 的活动表通过 wb.active 获取当前激活表,或用 wb["Sheet1"] 按名访问;单元格可通过坐标(如 "A1")或行列索引(如 cell(row=2, column=3))定位,行/列编号从 1 开始。
cell(),或直接赋值二维列表到 ws.append()
openpyxl 支持字体、对齐、边框、填充色等设置,但不支持所有 Excel 原生样式(如条件格式需额外调用 ConditionalFormatting)。
ws.row_dimensions[3].height = 25`每次修改后必须显式调用 save() 才会写入磁盘;若文件已打开,保存会失败并报错 PermissionError;含公式的工作表,openpyxl 默认读取计算结果而非公式文本(需设 data_only=True 加载)。