Openpyxl跨工作表单元格引用问题:如何在Sheet1的A1引用Sheet2的A1?
解决跨表公式引用的问题
嘿,这个问题我太熟了!你代码里其实有两个容易踩的小坑,咱们一步步来搞定:
- 首先修正公式的笔误:你写的公式末尾多了个多余的右括号,正确的公式应该是
"='Sheet2'!A1",多余的括号会让Excel识别成无效公式。 - 别忘了保存工作簿:光设置公式不保存的话,所有修改都不会写入到文件里,这是很多新手容易忽略的点!
给你贴个完整的正确代码示例:
from openpyxl import load_workbook # 注意文件名要加引号,不然会被当成变量报错 wb = load_workbook('test.xlsx') ws = wb['Sheet1'] # 写入正确的跨表引用公式 ws['A1'] = "='Sheet2'!A1" # 必须执行保存操作,修改才会生效 wb.save('test.xlsx')
另外还要提醒一句:如果你的test.xlsx里不存在Sheet2,或者Sheet2的A1单元格是空的,打开文件后公式可能会显示#REF!或者空值,记得先确认Sheet2和它的A1单元格是正常存在的哦。
内容的提问来源于stack exchange,提问作者Giorgos Synetos




