@
wxiao333 给你一段测试代码:
# 处理路径
from pathlib import Path
# 创建一个带公式 Excel
from openpyxl import Workbook
wb = Workbook()
excel_file = 'original_book.xlsx'
calculate_excel_file="cal_book.xlsx"
ws = wb.create_sheet(title="NewSheet")
ws['A1']=5
ws['A2']=7
ws['A3']="=A1+A2" #创建一个公式
wb.save(excel_file)
#调用 win32com 进行计算
import win32com.client as win
excel=win.Dispatch('Excel.Application')
excel.DisplayAlerts = False
target_wb=excel.Workbooks.Open(str(Path(excel_file).absolute())) #注意要完整路径
target_wb.SaveAs(Filename=str(Path(calculate_excel_file).absolute()))
target_wb.Close()
# 打开计算过的文件
from openpyxl import load_workbook
wb = load_workbook(filename = calculate_excel_file, data_only=True) #要加 data_only ,要不然输出的还是公式。
sheet = wb['NewSheet']
print(sheet['A3'].value) #输出 12