如何解决在python中使用openpyxl将公式放入Excel工作表
前一段时间,我在使用xlsxwriter将公式放入电子表格时获得了一些帮助: Adding formulas to excel spreadsheet using python
我需要移动到使用openpyxl,在增加行数的同时做同样的事情并填充列时遇到了问题。 如果我尝试:
for i,cellObj in enumerate(ws3['AC2:AC'+str(ws3.max_row)],2):
cellObj[0].value = "=VLOOKUP(B${0},'SheetName'!$B$2:$R$2199,17,FALSE)".format(i)
我运行公式时未在Excel文件中显示。
我尝试了前面给出的示例,但结果相同,工作表中未输入任何公式。
import openpyxl
wb = openpyxl.load_workbook('testy.xlsx')
Sheet = wb.get_sheet_by_name('Sheet1')
for i,cellObj in enumerate(Sheet.columns[1],1):
cellObj.value = '=IF($A${0}=$B${0},"Match","Mismatch")'.format(i)
wb.save('testy.xlsx')
任何指针将不胜感激。
解决方法
尽管我在打开文档时excel发出了循环引用警告,但此代码对我有用。请注意,我必须在公式中将工作表名称设置为Sheet1。
import openpyxl
wb = openpyxl.load_workbook('test.xlsx')
print("\nAll Sheets:",wb.sheetnames,end='\n\n')
Sheet = wb['Sheet1']
for i,cellObj in enumerate(list(Sheet.columns)[1],1):
f = "=VLOOKUP(B${0},'Sheet1'!$B$2:$R$2199,17,FALSE)".format(i)
print(f)
cellObj.value = f
wb.save('testy.xlsx')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。