Xlsxwriter — Создание табличных формул с использованием структурных ссылокPython

Программы на Python
Ответить
Anonymous
 Xlsxwriter — Создание табличных формул с использованием структурных ссылок

Сообщение Anonymous »

Я пытаюсь создать таблицу в Excel с помощью средства записи XLSX, в которой большая часть данных вычисляется заранее, но для нескольких столбцов требуется выполнение формул.

Я пытаюсь использовать структурные ссылки (заголовки в качестве ссылки), чтобы улучшить читаемость формул в таблице.

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

Код: Выделить всё

import xlsxwriter

workbook = xlsxwriter.Workbook('example.xlsx')
worksheet = workbook.add_worksheet()

data = [
['SOH', 'SOO', 'Actual Order', 'Total'],  # Headers
[10, 5, 3, None],
[20, 10, 7, None],
[15, 8, 6, None]
]

for row, row_data in enumerate(data):
worksheet.write_row(row, 0, row_data)

worksheet.add_table('A1:D4', {
'name': 'orderTable',
'columns': [
{'header': 'SOH'},
{'header': 'SOO'},
{'header': 'Actual Order'},
{'header': 'Total'}
]
})

for row in range(1, 4):
formula = '=orderTable[@[SOH]] + orderTable[@[SOO]] + orderTable[@[Actual Order]]'
worksheet.write_formula(row, 3, formula)

workbook.close()
Что я уже пробовал:
  • Подтвердил, что таблица создана и правильное имя в Excel.
  • Вставка формулы в ячейку, в которой она будет помещена -> в этом случае формула работает так, как задумано.
  • Использование прямого ссылки на ячейки (например, B1, B2 и т. д.) -> Это действительно работает, но я предпочитаю использовать вместо этого для удобства чтения используются структурные ссылки.
  • Я пробовал как с именем таблицы впереди, так и без него (например, [@[SOH]] и orderTable[@[SOH]]
  • Я попробовал удалить/изменить внутренние скобки и использовать кавычки (' ') вокруг имен переменных.
  • Я подтвердил, что заголовки не содержат нечетных символов, которые могли бы вызывать проблемы при создании ссылок
  • Я пробовал использовать write_array_formula и некоторые другие форматы, но безуспешно
Заранее спасибо!

Подробнее здесь: https://stackoverflow.com/questions/792 ... references
Ответить

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

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

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

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

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