Добавление DataValidation из Python в Excel

Использую библиотеку openpyxl. Пытаюсь добавить проверку данных в эксель:

dv = DataValidation(type="custom", formula1='=AND(LEN(A3)=6;VALUE(LEFT(A3;2))<12)', allow_blank=True)

Но при открытии экселя, ругается что книга повреждена и пытается восстановить ее. Сама формула при добавлении вручную в самой книге работает без проблем

=И(ДЛСТР(H7)=2;ЗНАЧЕН(ЛЕВСИМВ(H7;1))>2)

Если использовать =AND(LEN(A3)=6 и =VALUE(LEFT(A3;2))<12) отдельно друг от друга то все работает так же. Я так понимаю, что проблема именно в объединении двух формул, но подружить их так и не могу

Весь код:

from openpyxl import Workbook
from openpyxl.worksheet.datavalidation import DataValidation
wb = Workbook()
ws =wb.create_sheet()
dv = DataValidation(type="custom", 
formula1='=AND(LEN(A3)=6;VALUE(LEFT(A3;2))<12)', allow_blank=True)
ws.add_data_validation(dv)
dv.add(ws.cell(row = 3, column= 1))
wb.save('test.xlsx')

Ответы (1 шт):

Автор решения: Alex Fox

Оказывается в подобных формулах

LEFT(A3;2)

Используется не ";" а ",". Вот и все решение для тех, кто так же потерял на это время

→ Ссылка