Вопрос или проблема
У меня есть 3 колонки, не относящиеся к дате, в входном файле Excel, и я хочу 3 поля PivotFieldType.ROW, которые можно явно группировать, чтобы в ячейке была возможность выбора из выпадающего списка. Этот код написан на aspose.cells для Python через .Net. Не могли бы вы помочь, это очень срочно. Прилагаю скриншот того, как должны выглядеть значения.
.
Ответ или решение
Для группировки полей строк с использованием библиотеки Aspose.Cells для Python версии 24.10.0, необходимо следовать нескольким важным шагам. Задача состоит в объединении трех полей типа PivotFieldType.ROW
таким образом, чтобы в ячейке отображался выпадающий список с выбранными значениями.
1. Подготовка данных
Перед началом работы убедитесь, что ваш Excel-файл содержит необходимые данные в нужном формате. Убедитесь, что у вас есть три не даты столбца, которые вы хотите использовать в своем сводном отчете.
2. Создание экземпляра Workbook
Сначала создайте экземпляр Workbook
, загрузив ваш файл Excel:
import aspose.cells as cells
# Загрузка существующего файла Excel
workbook = cells.Workbook('path_to_your_file.xlsx')
3. Создание сводной таблицы
Создайте сводную таблицу (PivotTable) на основе вашего диапазона данных. Укажите ее расположение в вашем Excel-файле:
# Получение рабочей страницы
worksheet = workbook.get_worksheet(0)
# Определение диапазона данных для сводной таблицы
data_range = "A1:C100" # Укажите свое значение диапазона данных
pivot_table = worksheet.pivotTables.add(data_range, "E1", "PivotTable1")
4. Добавление полей строк
Теперь вы можете добавить поля строк (Row Fields) в сводную таблицу. Предположим, ваши поля, названия которых вы хотите использовать, это "Поле1", "Поле2" и "Поле3":
pivot_table.add_field_to_row_area("Поле1")
pivot_table.add_field_to_row_area("Поле2")
pivot_table.add_field_to_row_area("Поле3")
5. Объединение полей в одну ячейку
В Aspose.Cells нет встроенной функции для объединения нескольких полей строк в одну ячейку, что делает вашу задачу более сложной. Но вы можете использовать дополнительные методы для того, чтобы визуально отобразить нужный формат с помощью объединения ячеек или пользовательских функций для манипуляции данными.
6.Создание выпадающего списка
Чтобы создать выпадающий список в объединенной ячейке, вы можете воспользоваться следующими методами:
# Определение диапазона, который будет содержать выпадающий список
drop_down_range = worksheet.get_cells().get_range("F1:F10")
# Добавление данных в выпадающий список из сводной таблицы
worksheet.get_cells().import_array(["Option1", "Option2", "Option3"], 0, 5)
# Установка валидации данных для создания выпадающего списка
validation = worksheet.get_validations().add(cells.ValidationType.LIST, cells.ComparisonType.NONE, 1, 10)
validation.add_range(drop_down_range)
validation.formula1 = "Option1,Option2,Option3"
7. Сохранение файла
Не забудьте сохранить изменения в вашем Excel-файле:
workbook.save('path_to_save_your_new_file.xlsx')
Заключение
В процессе создания сводной таблицы и настройки группировки полей строк вашим основным инструментом будет библиотека Aspose.Cells. Убедитесь, что выпадающий список корректно отображает желаемые значения, что позволит пользователю выбирать данные из сводной таблицы более удобно. При возникновении дополнительных вопросов, или если вам требуется более специализированная помощь, исследуйте документацию Aspose или обратитесь к поддержке.