Настройка таблиц данных диаграмм в презентациях с использованием JavaScript
Обзор
Aspose.Slides for Node.js via Java позволяет отображать таблицу данных диаграммы и настраивать её форматирование текста, границы и маркеры легенды. В этой статье объясняется, как включить таблицу, отформатировать её текст, управлять каждым типом границы и показывать или скрывать маркеры легенды. Примеры сохраняют настроенные диаграммы в файлы PPTX.
Задать свойства шрифта
Чтобы отобразить таблицу данных диаграммы, передайте true в setDataTable. Используйте getChartDataTable, чтобы получить доступ к таблице и настроить её форматирование текста.
- Загрузите презентацию, используя класс Presentation.
- Добавьте группированную столбчатую диаграмму на первый слайд.
- Включите таблицу данных диаграммы.
- Включите полужирный текст с помощью setFontBold и передайте
20в setFontHeight, чтобы задать размер шрифта 20 пунктов. - Сохраните изменённую презентацию.
Следующий пример требует файл input.pptx в рабочем каталоге, содержащий хотя бы один слайд. Он добавляет диаграмму с данными по умолчанию в позицию (50, 50) с шириной 600 пунктов и высотой 400 пунктов. Сохранённый output.pptx содержит диаграмму с включённой таблицей данных и применёнными указанными настройками шрифта.
const aspose = { slides: require("aspose.slides.via.java") };
const java = require("java");
const presentation = new aspose.slides.Presentation("input.pptx");
try {
const slide = presentation.getSlides().get_Item(0);
const chart = slide.getShapes().addChart(aspose.slides.ChartType.ClusteredColumn, 50, 50, 600, 400);
chart.setDataTable(true);
const portionFormat = chart.getChartDataTable().getTextFormat().getPortionFormat();
portionFormat.setFontBold(java.newByte(aspose.slides.NullableBool.True));
portionFormat.setFontHeight(20);
presentation.save("output.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Настроить границы таблицы данных
Включите таблицу с помощью Chart.setDataTable и получите к ней доступ через Chart.getChartDataTable. Вы можете управлять тремя типами границ независимо:
- setBorderHorizontal управляет горизонтальными границами ячеек.
- setBorderVertical управляет вертикальными границами ячеек.
- setBorderOutline управляет внешней границей таблицы.
Передайте true каждому методу, чтобы отобразить соответствующие границы, или false, чтобы скрыть их. Следующий пример создаёт группированную столбчатую диаграмму с данными по умолчанию, отображает горизонтальные границы и внешнюю границу, а вертикальные границы скрывает. Входной файл не требуется. Позиция и размер диаграммы указаны в пунктах.
const aspose = { slides: require("aspose.slides.via.java") };
const presentation = new aspose.slides.Presentation();
try {
const slide = presentation.getSlides().get_Item(0);
const chart = slide.getShapes().addChart(aspose.slides.ChartType.ClusteredColumn, 50, 50, 600, 400);
chart.setDataTable(true);
const dataTable = chart.getChartDataTable();
dataTable.setBorderHorizontal(true);
dataTable.setBorderVertical(false);
dataTable.setBorderOutline(true);
presentation.save("data-table-borders.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Сравнение ниже использует одинаковые данные диаграммы и настройки маркеров легенды во всех четырёх случаях. Начиная с включёнными всеми границами, каждый последующий вариант отключает только одну настройку границы. Вариант в нижнем‑левом углу соответствует настройкам границ в примере.

Показать или скрыть маркеры легенды
Маркеры легенды — это небольшие цветные индикаторы рядом с названиями рядов в таблице данных. Они помогают читателям сопоставлять каждую строку таблицы с соответствующим рядом диаграммы. Передайте true в setShowLegendKey, чтобы отобразить эти индикаторы, или false, чтобы скрыть их.
Отдельную легенду диаграммы контролирует Chart.setLegend. Эти настройки независимы: скрытие отдельной легенды не скрывает маркеры внутри таблицы данных, и скрытие маркеров таблицы не скрывает отдельную легенду.
Следующий пример создаёт диаграмму с данными по умолчанию, включает её таблицу данных и отображает маркеры легенды внутри неё, скрывая отдельную легенду. Все границы таблицы явно включены. Входная презентация не требуется. Чтобы скрыть только маркеры таблицы, передайте false в setShowLegendKey.
const aspose = { slides: require("aspose.slides.via.java") };
const presentation = new aspose.slides.Presentation();
try {
const slide = presentation.getSlides().get_Item(0);
const chart = slide.getShapes().addChart(aspose.slides.ChartType.ClusteredColumn, 50, 50, 600, 400);
chart.setDataTable(true);
chart.setLegend(false);
const dataTable = chart.getChartDataTable();
dataTable.setBorderHorizontal(true);
dataTable.setBorderVertical(true);
dataTable.setBorderOutline(true);
dataTable.setShowLegendKey(true);
presentation.save("data-table-legend-keys.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Сравнение ниже показывает одну и ту же таблицу с включёнными и отключёнными маркерами легенды. Все границы остаются включёнными, а отдельная легенда диаграммы скрыта в обоих случаях.

Вопросы и ответы
Могу ли я отобразить маркеры легенды в таблице данных диаграммы?
Да. Передайте true в setShowLegendKey, чтобы отобразить маркеры легенды, или false, чтобы скрыть их.
Сохранится ли таблица данных при экспорте презентации в PDF, HTML или изображения?
Да. Aspose.Slides рендерит диаграмму и её отображаемую таблицу данных как часть слайда при экспорте в PDF, HTML или изображения.
Можно ли работать с таблицами данных в диаграммах, загруженных из шаблона?
Да. Для диаграммы, загруженной из существующей презентации или шаблона, используйте hasDataTable и setDataTable для проверки или изменения того, отображается ли её таблица данных.
Как найти диаграммы, у которых включена таблица данных?
Пройдите по всем фигурам на каждом слайде, определите диаграммы и вызовите их метод hasDataTable. Значение true указывает, что таблица данных включена.