问题描述
我有一个Excel电子表格,该电子表格在列D
的单元格上具有引用单元格F3 - F5
的公式。我需要通过python更新单元格F3-F5
,刷新列D
上的公式,并打印更新后的值。由于我需要保留工作簿上的所有公式,但需要打印值而不是公式,因此,我认为解决此问题的最佳方法是在更新单元格后复制工作簿。但是,就我的代码而言,我的打印语句的输出为None
。当我通过excel打开新工作簿时,D
列中的单元格被填充,因此我不确定当前的方法是否以某种方式破坏了我的工作簿。
from openpyxl import load_workbook
def main():
xl_path = r'old_wb.xlsx'
output = r'new_wb.xlsx'
# sw_name = input('Enter Switch Name:')
# time_zone = input('Enter the time zone')
# time_offset = input('Enter the time offset')
wb = load_workbook(filename=xl_path)
ws = wb['Sheet1']
ws['F3'] = 'IL-1234'
wb.save(output)
new_wb = load_workbook(filename=output,data_only=True)
new_ws = new_wb['Sheet1']
for row in range(3,201):
val = new_ws.cell(row=row,column=4).value
print(val)
if __name__ == '__main__':
main()
有没有更好的方法可以实现我的目标?也许是一种解决方案,我不必创建新的工作簿,但可以在更新单元格后刷新公式结果?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)