Обновление формул в Excel с помощью PythonPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Обновление формул в Excel с помощью Python

Сообщение Anonymous »

Я пытаюсь обновить формулы в существующем Excel, который имеет данные и таблицы, но я не смогу обновить формулы, чтобы они обновляли данные, например: < /p>
Хорошо, так как я получаю некоторые ответы, но не то, чего я пытаюсь достичь, я попробую получить больше контекста здесь: < /p>
Я пытаюсь сделать уникальный список из таблицы, как: < /p>
Я пытаюсь сделать уникальный список из таблицы: < /p> < /p>
, чтобы сделать уникальный список из таблицы: < /p> < /p>
.=UNIQUE(Table1[Names])
< /code>
, а затем я бы использовал эти данные для списка проверки. Это означает, что я бы создал один DV для имен в уникальной формуле. Допустим, я помещаю формулу в C1. Столбцы A и B являются именами и возрастом: < /p>
dropdown_range = "'Data'!C1#"
dv = DataValidation(type="list", formula1=dropdown_range, showDropDown=False)
target_sheet.add_data_validation(dv)
dv.add(target_sheet['D1'])
< /code>
Тогда я хочу использовать выбор выпадающего (DV) в другой формуле, которая проверит выбор: < /p>
=VSTACK("", UNIQUE(FILTER(Table1[Age], Table1[Names]=D1)))
< /code>
Логика будет так, но формулы гораздо сложнее. < /p>
Полный код: < /p>
from openpyxl import Workbook
from openpyxl.worksheet.datavalidation import DataValidation
from openpyxl.worksheet.table import Table, TableStyleInfo

wb = Workbook()
ws = wb.active

data = [
["Names", "Age"],
["Alice", 30],
["Bob", 25],
["Charlie", 35],
["Alice", 30],
["David", 40],
["Bob", 25],
]

for row in data:
ws.append(row)

table_range = f"A1:B{len(data)}"
table = Table(displayName="Table1", ref=table_range)

style = TableStyleInfo(name="TableStyleMedium9", showFirstColumn=True, showRowStripes=True, showColumnStripes=True)
table.tableStyleInfo = style

ws.add_table(table)

ws["C1"] = "=UNIQUE(Table1[Names])"

dropdown_range = "'Sheet'!C1#"
dv = DataValidation(type="list", formula1=dropdown_range, showDropDown=True)
ws.add_data_validation(dv)

dv.add(ws["D1"])

ws["E1"] = "=VSTACK(\"\", UNIQUE(FILTER(Table1[Age], Table1[Names]=D1)))"

file_path = 'example_with_dropdown.xlsx'
wb.save(file_path)
< /code>
Есть ли способ сделать это с каким -то другим модулем, а не OpenPyxl? После openpyxl большая часть работы с Excel?>

Подробнее здесь: https://stackoverflow.com/questions/795 ... ing-python
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Обновление формул в Excel с помощью Python
    Anonymous » » в форуме Python
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Обновление формул в Excel с помощью Python
    Anonymous » » в форуме Python
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Обновление формул в Excel с помощью Python
    Anonymous » » в форуме Python
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Обновление формул в Excel с помощью Python
    Anonymous » » в форуме Python
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Обновление формул в Excel с помощью Python
    Anonymous » » в форуме Python
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous

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