Сводная таблица и исходные данные
Исходные данные сводной таблицы
Иногда возникают ситуации, когда вы хотите создать отчеты Microsoft Excel с сводными таблицами, использующими данные из разных источников данных (например, базы данных), которые неизвестны на этапе проектирования. В этой статье представлен подход к динамическому изменению источника данных сводной таблицы.
Изменение исходного источника данных сводной таблицы
- Создание нового файла шаблона дизайнера.
-
Создайте новый файл шаблона дизайнера, как показано на скриншоте ниже.
-
Затем определите именованный диапазон DataSource, который ссылается на этот диапазон ячеек.
Создание файла шаблона дизайнера и определение именованного диапазона DataSource
-
- Создание сводной таблицы на основе этого именованного диапазона.
-
В Microsoft Excel выберите Данные, затем Сводная таблица и Отчет сводной таблицы и диаграмма.
-
Создайте сводную таблицу на основе созданного в первом шаге именованного диапазона.
Создание сводной таблицы на основе именованного диапазона DataSource
-
- Перетащите соответствующее поле на строку и столбец сводной таблицы, затем создайте результирующую сводную таблицу, как показано на скриншоте ниже.
Создание сводной таблицы на основе соответствующего поля
- Щелкните правой кнопкой мыши на сводной таблице и выберите Параметры таблицы.
-
Установите Обновлять при открытии в настройках Параметры данных.
Настройка параметров сводной таблицы
-
Теперь вы можете сохранить этот файл как файл вашего дизайнерского шаблона.
- Пополнение новыми данными и изменение исходных данных сводной таблицы.
- После создания дизайнерского шаблона используйте следующий код для изменения исходных данных сводной таблицы.
Исполнение приведенного ниже примера кода изменяет исходные данные сводной таблицы.
from aspose.cells import Workbook | |
# The path to the documents directory. | |
dataDir = RunExamples.GetDataDir(".") | |
InputPath = dataDir + "Book1.xlsx" | |
# Creating a file stream containing the Excel file to be opened | |
fstream = open(InputPath, "rb") | |
# Opening the Excel file through the file stream | |
workbook = Workbook(fstream) | |
# Accessing the first worksheet in the Excel file | |
worksheet = workbook.worksheets[0] | |
# Populating new data to the worksheet cells | |
worksheet.cells.get("A9").put_value("Golf") | |
worksheet.cells.get("B9").put_value("Qtr4") | |
worksheet.cells.get("C9").put_value(7000) | |
# Changing named range "DataSource" | |
range = worksheet.cells.create_range(0, 0, 9, 3) | |
range.name = "DataSource" | |
# Saving the modified Excel file | |
workbook.save(dataDir + "output.xls") | |
# Closing the file stream to free all resources | |
fstream.close() |