Формула, добавленная через скрипт Python, отображается неправильно [закрыто]Python

Программы на Python
Ответить
Anonymous
 Формула, добавленная через скрипт Python, отображается неправильно [закрыто]

Сообщение Anonymous »

Я использую простой скрипт на Python для создания таблиц в Excel. На последнем листе я использую скрипт для добавления формулы =@indirect, которая показывает конкретную таблицу одного листа, выбранного в раскрывающемся списке. Все вроде работает, только вот когда открываю файл, формула косвенно показывает ошибку НАЗВАНИЕ, но когда переписываю ту же самую идентичную формулу вручную, то работает, даже если просто удалить один символ и переписать, она снова начинает работать, почему ?
Я попробовал пересчитать вручную, но это не сработало.
Вот функция, которая создает таблицу.
def add_dynamic_recap(output_file, months):
wb = load_workbook(output_file)
ws = wb.create_sheet(title="recap dinamico")

# Menu a tendina
dv = DataValidation(type="list", formula1=f'"{",".join(map(str, months))}"', allow_blank=False)
ws.add_data_validation(dv)
ws["A1"] = "Seleziona Mese:"
ws["C1"] = "selezione" # Cella per il menu a tendina
dv.add(ws["C1"])

# Intestazioni della tabella
headers = ["DIPENDENTE", "NOME", "COGNOME", "ORE ORDINARIE", "ORE STRAORDINARIE", "TOT.ORE LAVORATE", "PERC.TOT.ORE ASS.", "Ferie", "CIG", "Malattia",
"Infortunio",
"Permessi",
"Permessi 104",
"Permessi Sindacali"]
for col, header in enumerate(headers, start=1):
ws.cell(row=3, column=col, value=header)

# Righe della tabella dinamica
for row in range(4, 50): # Limitiamo a 50 righe per esempio
for col, header in enumerate(headers, start=1):
column_letter = chr(64 + col) # Ottieni la lettera della colonna
formula = f'=INDIRETTO("Mese_"&$C$1&"!{column_letter}"&"{row}")'
ws.cell(row=row, column=col, value=formula)

wb.calculation_mode = "auto"
# Salva il file
wb.save(output_file)


Подробнее здесь: https://stackoverflow.com/questions/793 ... ized-right
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»