Боюсь, я не могу настроить идеальное воспроизведение, тем не менее, я надеюсь, что смогу получить некоторые подсказки.
Мой сервер приложений находится в Великобритании с настройками для Великобритании, а конечные пользователи, которым я хочу предоставить это улучшение, находятся в США с настройками для США.
Поэтому я пытаюсь облегчить преобразование типа даты, форматируя поле/столбец даты в Python следующим образом.
d.strftime('%m/%d/%Y')
Затем я пишу xlsx, используя формат
format3 = workbook.add_format({'num_format': 'mm/dd/yy'})
worksheet.write(row, col, item[0], format3)
Когда я открываю xlsx и пытаюсь отфильтровать по дате, Excel неправильно распознает столбец как дату. Это проблема только для меня в Великобритании или также для моих пользователей в США?
Бонусный балл
Я видел ответ, теперь у меня более сложный вопрос. Допустим, я в Великобритании. Если я сохраню ячейку как дату в Excel, когда мои пользователи откроют ее в США, они увидят cel в своем локализованном формате.
Как я могу добиться этого в python xlsx?
Это то, что я пробовал
import xlsxwriter
from datetime import date
mydate = date(2021,12,29)
path = 'C:\\my\\path\\test.xlsx'
wb = xlsxwriter.Workbook(path)
format = wb.add_format({'num_format': 'dd/mm/yyyy'})
ws = wb.add_worksheet('mydates')
ws.write(0,0,'date')
ws.write(1,0,mydate, format)
wb.close()
Когда я открываю его в Excel, он говорит, что это дата, а не настроенная.
Но когда я запускаю из cmd control international
и выбираю другой языковой формат (скажем, я переключаюсь с Великобритании на США) и снова открываю xlsx, формат даты не трансформируется