抱歉,如果我问一个以前可能被问过的问题,但我无法在 Google 和 Stack Overflow 论坛中找到答案。
问题与openpyxl
用法,因为它是最方便的库xlsx
files.
import openpyxl
wb = openpyxl.load_workbook("D:/Python.xlsx")
sheet = wb.active
i = 0
sheet["A1"] = i
wb.save("D:/Python.xlsx")
但是,它不适用于打开的 Excel 文件。我收到一个错误
[Errno 13] Permission denied: 'D:/Python.xlsx'
我也发现类似的问题:
在 Komodo 中运行 openpyxl python 脚本时出现 PermissionError [errno 13] https://stackoverflow.com/questions/31147460/permissionerror-errno-13-when-running-openpyxl-python-script-in-komodo
写入打开的 Excel 文档 https://stackoverflow.com/questions/26141114/write-to-an-open-exceldocument
我该如何解决此错误并使 Python 能够处理 Excel 中打开的文件?我当前的版本是Python 2.7。另外,如果可能的话,在中制作相同魔法的解决方案是什么xlsm
files?
UPD:
如果第一个问题没有解决方案(也许谷歌文档除外,感谢@Alex),是否可以编写一段代码来执行以下算法:
1. 关闭 Excel 应用程序并保存
2.用python进行计算,并将结果保存在Excel中的某个目的地
3. 在Excel应用程序中打开Excel文件?
我知道怎么做 2。对 1 和 3 有什么想法吗?
UPD2:
xlwings
真的做得很棒!正是我所需要的!谢谢!
我想提供一个对我有用的代码(只有其他用户可以在 Google 中找到并使用):
import xlwings as xl
import time
wb = xl.Workbook.active()
sheet = wb.active
iter = 10
i = 0
while True:
i += 1
if i <= iter:
xl.Range("A1").value = i
time.sleep(1)
print(i)
else:
break
wb.save()
print("Done!")