Python xlsxwriter: как мне написать формулу, которая ссылается на другой лист

#python #python-3.x #excel-formula #openoffice-calc #xlsxwriter

#python #python-3.x #excel-формула #openoffice-calc #xlsxwriter

Вопрос:

Я пытаюсь добавить файл Excel, содержащий формулу, ссылающуюся на другой лист.

В этом примере я пытаюсь скопировать слово «мир» с листа 2 на лист 1.

 import xlsxwriter

workbook = xlsxwriter.Workbook('hello.xlsx')
sheet1 = workbook.add_worksheet(name='Sheet 1')
sheet2 = workbook.add_worksheet(name='Sheet 2')
sheet2.write(2,2,'world')
sheet1.write(2,2,'hello')
sheet1.write_formula('D3', "='Sheet 2'.C3")

workbook.close()
  

Результирующий файл xlsx при открытии отображает fomula в
нижнем регистре. Формула не работает, когда я нажимаю Ctrl Shift F9
для пересчета всех формул.

Если я ввожу формулу вручную, она работает.

Возможно ли ссылаться на другие листы при создании файлов Excel xlsxwriter?

Я использую Open Office 5 для отображения файла.

Ответ №1:

Формула должна быть в синтаксисе US Excel, как показано ниже (примечание ! нет . ):

 sheet1.write_formula('D3', "='Sheet 2'!C3")
  

См. Раздел «Работа с формулами» документации XlsxWriter.