Używając openpyxl
, próbuję odczytać dane ze skoroszytu programu Excel i zapisywać dane w tym samym skoroszycie programu Excel. Pobieranie danych z skoroszytu programu Excel działa dobrze, ale zapisywanie danych w skoroszycie programu Excel nie działa. Za pomocą poniższego kodu otrzymam wartość z komórki A1
w Sheet1
i wydrukuję ją. Następnie próbuję umieścić pewne wartości w komórkach A2
i A3
. To nie działa.Zapisywanie danych w arkuszu Excela przy użyciu openpyxl nie działa
from openpyxl import Workbook
from openpyxl import load_workbook
wb = load_workbook("testexcel.xlsm")
ws1 = wb.get_sheet_by_name("Sheet1")
#This works:
print ws1.cell(row=1, column=1).value
#This doesn't work:
ws1['A2'] = "SomeValue1"
#This doesn't work either:
ws1.cell(row=3, column=1).value = "SomeValue2"
Jestem pewien, że kod jest poprawny ... Co się tutaj dzieje?
Dziękuję za odpowiedź ... I dodaje dodatkowa linia. Teraz pojawia się następujący komunikat o błędzie: "IOError: [Errno 13] Odmowa uprawnień:" testexcel.xlsm "" Wygląda na to, że nie mam uprawnień do zapisania pliku (Dlaczego, do cholery, nie?) –
czy masz plik otwarty? – Woodsy
Spróbuj zapisać go pod inną nazwą - to prawdopodobnie najlepsza praktyka w przypadku plików z makrami, ponieważ utracisz je bez wyraźnego ich zachowania. –