很抱歉,如果我提出之前可能会提出的问题,但我无法在Google和Stack Overflow论坛中找到答案。
问题与openpyxl
用法有关,因为它是与xlsx
文件一起使用的最方便的库。
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'
我也发现了类似的问题:
PermissionError [errno 13] when running openpyxl python script in Komodo
write to an open exceldocument
如何解决此错误并使Python在Excel中使用已打开的文件?我目前的版本是Python 2.7。另外,如果可能的话,在xlsm
文件中制作相同魔法的解决方案是什么?
UPD:
如果第一个问题没有解决方案(可能是Google Docs除外,感谢@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!")