25. Автоматизация с использованием данных Excel
Если данные представлены в Excel, можно использовать функции UpdateChart
и PresentationFromTemplate
для программного управления применением этих данных.
С помощью UpdateChart
можно заменить таблицу определенного элементами вашими данными Excel. С помощью PresentationFromTemplate
можно использовать данные для создания новой презентации на основе шаблона PowerPoint с элементами think-cell, связанными с диапазонами данных в Excel, как описано в 21. Ссылки на данные Excel.
Интерфейс обеих функций интегрирован в модель автоматизации Office, что позволяет использовать его на любом языке, который поддерживает Office, таком как Visual Basic for Applications (VBA) и C#. См. подробные инструкции в Начало работы.
Точка входа в think-cell — это объект надстройки think-cell. Доступ к нему можно получить через коллекцию Application.COMAddIns
. Вызовы think-cell всегда являются вызовами с поздним связыванием. Описание см. в статье базы знаний Microsoft:
Использование раннего связывания и позднего связывания в Автоматизации
Таким образом, объект надстройки think-cell — это просто Object
, поэтому не требуется добавлять библиотеку типов или ссылку. Просто получите объект, вы сможете совершать вызовы. Например, в VBA в Excel:
В C# можно достичь позднего связывания, описав ссылку на объект надстройки think-cell как dynamic
. Такой же тип выводится компилирующей программой при определении ссылки как var
, так что можно просто написать:
Здесь xlapp
является ссылкой на объект Excel.Application
, куда загружается think-cell.
- 25.1
- UpdateChart
- 25.2
- PresentationFromTemplate
25.1 UpdateChart
25.1.1 Подпись
VBA
C#
25.1.2 Описание
Эта функция обновляет все элементы в target
именем strName
с данными, содержащимися в rgData
. Для правильной интерпретации данных для диаграмм диапазон rgData
должен соответствовать их макету таблицы по умолчанию или переставленной версии. См. также Создание диаграммы на основе данных Excel и Настройка макета данных. То, какую версию использовать — по умолчанию или переставленную, — указывается установкой bTransposed
на false
или true
соответственно. В случае с элементами, которые не являются диаграммами, например, с таблицами, значение bTransposed
игнорируют.
target
должен быть Presentation
или SlideRange
, или один Slide
, Master
или CustomLayout
.
При сопоставлении имени strName
регистр не учитывается. Оно должно было быть назначено ранее в PowerPoint с использованием элемента управления свойством Имя UpdateChart, как описано в разделе 24. Введение в автоматизацию.
Для выбора правильных элементов в качестве целей убедитесь в том, что только у них Имя UpdateChart установлено на strName
в объекте, передаваемом как pres
.
Если целевой элемент связан с каким-либо диапазоном данных Excel во время вызова этой функции, связь будет нарушена. После этого элемент не будет связан ни с каким диапазоном Excel.
25.1.3 Примеры
Чтобы использовать эти образцы, составьте презентацию, как описано в 24. Введение в автоматизацию, и сохраните ее как C:\Samples\UpdateChart\template.pptx
.
VBA
Чтобы использовать этот образец, добавьте его в модуль в рабочей книге Excel.
Требуется ссылка на библиотеку объектов Microsoft PowerPoint 16.0 (см. сведения в Visual Basic for Applications).
При запуске UpdateChart_Sample
в рабочей книге диаграмма в шаблоне презентации обновится с добавлением данных, содержащихся в диапазоне A1:D5
первого листа.
C#
Чтобы использовать этот образец, замените им код в шаблоне проекта Program.cs
C# Консольное приложение.
Для этого требуется ссылка на библиотеку объектов Microsoft PowerPoint 16.0, библиотеку объектов Microsoft Excel 16.0 и библиотеку объектов Microsoft Office 16.0 (см. сведения в C#).
При запуске получившегося в результате приложения диаграмма в шаблоне презентации обновится и будет содержать один ряд под названием «Ряд 1» со значениями 1, 2, 3. Результат сохранится как template_updated.pptx
.
25.2 PresentationFromTemplate
25.2.1 Подпись
VBA
C#
25.2.2 Описание
В этой функции используются связи данных рабочей книги Excel wb
с шаблоном с именем файла strTemplate
, чтобы создать этот шаблон, обновив связанные элементы данными из диапазонов, к которым они привязаны. Результатом будет новая презентация в экземпляре PowerPoint ppapp
.
strTemplate
может быть полный путь или относительный путь, который считается относительным для расположения файла книги Excel wb
.
Все элементы в strTemplate
, которые связаны с книгой Excel wb
, обновляются (независимо от того, обновляются они автоматически или нет). В полученной в результате презентации связи данных разбиты для того, чтобы избежать изменения этих элементов в будущем.
Элементы в strTemplate
, которые связаны с книгами Excel, отличными от wb
, не меняются и остаются связанными, поэтому можно обновить ссылки из множества книг Excel, сохранив результат этой функции как новый шаблон и вызвав эту функцию снова для следующей рабочей книги.
Если вы хотите управлять цветами сегментов диаграммы или форматированием ячеек таблицы со связью Excel, вы можете задать цветовую схему в опциях Использовать заливку таблицы сверху (см. раздел Цветовая схема) или Использовать таблицу... (см. раздел Форматирование таблицы) соответственно. Чтобы контролировать формат чисел с помощью ссылки на Excel, выберите параметр Использовать формат Excel (см. раздел Формат чисел).
Установите соответствующие опции форматирования и формат чисел соответствующих ячеек в Excel перед вызовом PresentationFromTemplate
.
25.2.3 Примеры
Чтобы использовать эти образцы, сначала создайте презентацию, содержащую диаграмму с накоплением, связанную с диапазоном G1:K4
первого листа в рабочей книге Excel, как объясняется в разделе Создание диаграммы на основе данных Excel. Сохраните получившуюся в результате презентацию как C:\Samples\PresentationFromTemplate\template.pptx
, а рабочую книгу как data.xlsx
в одной и той же директории.
VBA
Чтобы использовать этот образец, добавьте его в модуль в рабочей книге Excel data.xlsx
, подготовленный, как разъясняется выше.
Требуется ссылка на библиотеку объектов Microsoft PowerPoint 16.0 (см. сведения в Visual Basic for Applications).
При запуске PresentationFromTemplate_Sample
изменится значение в ячейке Sheet1!H3
, которая связана с первым значением первого ряда диаграммы, содержащимся в template.pptx
, с i=1
на 10
, создастся новая презентация с диаграммой в шаблоне, обновленном так, что он содержит это значение, и который больше не связан с рабочей книгой, и сохранится как output_i.pptx
в той же директории, что и шаблон.
C#
Чтобы использовать этот образец, замените им код в шаблоне проекта Program.cs
C# Консольное приложение.
Для этого требуется ссылка на библиотеку объектов Microsoft PowerPoint 16.0, библиотеку объектов Microsoft Excel 16.0 и библиотеку объектов Microsoft Office 16.0 (см. сведения в C#).
При запуске получившегося в результате приложения явно откроется Excel, загрузится рабочая книга data.xlsx
изменится значение в ячейке H3
, которая связана с первым значением первого ряда диаграммы, содержащимся в template.pptx
, с i=1
на 10
, создастся новая презентация с диаграммой в шаблоне, обновленном так, что он содержит это значение, и который больше не связан с рабочей книгой, и сохранится как output_i.pptx
в той же директории, что и шаблон.
Создание диаграмм
-
4.Введение в создание диаграмм
-
5.Ввод данных
-
6.Текстовые подписи
-
7.Гистограммы, линейные графики и диаграммы с областями
-
8.Оформление диаграмм
-
9.Каскадная диаграмма
-
10.Диаграмма Mekko
-
11.Круговая и кольцевая диаграмма
-
12.Точечная диаграмма и пузырьковая диаграмма
-
13.Диаграмма Ганта (временная шкала)