Создание таблиц и управление ими в PowerPoint Java

Таблицы используются для организации данных в виде строк и столбцов. Кроме того, они обобщают данные для удобного просмотра и анализа. MS PowerPoint также позволяет докладчикам создавать таблицы в презентациях. Соответственно, в этой статье вы узнаете, как создавать таблицы в презентациях PowerPoint и управлять ими с помощью Java.

Java API для создания и управления таблицами в PowerPoint

Для создания и управления таблицами в презентациях PowerPoint мы будем использовать Aspose.Slides for Java. API предназначен для создания, управления и преобразования презентаций PowerPoint и OpenOffice. Вы можете скачать JAR-файл API или установить его, используя следующие конфигурации Maven.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-slides</artifactId>
    <version>21.8</version>
    <classifier>jdk16</classifier>
</dependency>

Создайте таблицу в презентации PowerPoint с помощью Java

Создать таблицу с помощью Aspose.Slides для Java очень просто. Следующие шаги демонстрируют, как создать таблицу в презентации PowerPoint с нуля с помощью Java.

  • Сначала создайте новую презентацию или загрузите существующую с помощью класса Presentation.
  • Затем получите ссылку на нужный слайд в объект ISlide.
  • Определите ширину и высоту столбцов и строк соответственно в массивах double[].
  • Вставьте новую таблицу в презентацию, используя метод ISlide.getShapes().addTable(float, float, double[], double[]).
  • Получить ссылку на вновь созданную таблицу в объекте ITable.
  • Создайте цикл для перебора строк таблицы.
  • Создайте вложенный цикл для перебора ячеек таблицы и на каждой итерации выполняйте следующие операции.
  • Наконец, сохраните презентацию, используя метод Presentation.save(String, SaveFormat).

В следующем примере кода показано, как создать таблицу в презентации PowerPoint.

// Создать или загрузить презентацию
Presentation pres = new Presentation();
try {
	// Доступ к первому слайду
	ISlide sld = pres.getSlides().get_Item(0);

	// Определите столбцы с шириной и строки с высотой
	double[] dblCols = { 50, 50, 50 };
	double[] dblRows = { 50, 30, 30, 30, 30 };

	// Добавить форму таблицы на слайд
	ITable tbl = sld.getShapes().addTable(100, 50, dblCols, dblRows);

	// Установите текст и формат границы для каждой ячейки
	for (int row = 0; row < tbl.getRows().size(); row++) {
		for (int cell = 0; cell < tbl.getRows().get_Item(row).size(); cell++) {

			// Установить текст
			tbl.getRows().get_Item(row).get_Item(cell).getTextFrame().setText("Cell_" + cell);
			
			// Установить границу
			ICellFormat cellFormat = tbl.getRows().get_Item(row).get_Item(cell).getCellFormat();
			cellFormat.getBorderTop().getFillFormat().setFillType(FillType.Solid);
			cellFormat.getBorderTop().getFillFormat().getSolidFillColor().setColor(Color.RED);
			cellFormat.getBorderTop().setWidth(5);

			cellFormat.getBorderBottom().getFillFormat().setFillType(FillType.Solid);
			cellFormat.getBorderBottom().getFillFormat().getSolidFillColor().setColor(Color.RED);
			cellFormat.getBorderBottom().setWidth(5);

			cellFormat.getBorderLeft().getFillFormat().setFillType(FillType.Solid);
			cellFormat.getBorderLeft().getFillFormat().getSolidFillColor().setColor(Color.RED);
			cellFormat.getBorderLeft().setWidth(5);

			cellFormat.getBorderRight().getFillFormat().setFillType(FillType.Solid);
			cellFormat.getBorderRight().getFillFormat().getSolidFillColor().setColor(Color.RED);
			cellFormat.getBorderRight().setWidth(5);
		}
	}
	
	// Сохранить PPTX на диск
	pres.save("table.pptx", SaveFormat.Pptx);
} finally {
	if (pres != null)
		pres.dispose();
}

На следующем снимке экрана показана таблица, которую мы создали с помощью приведенного выше кода.

Создать таблицу в PowerPoint Java

Доступ к таблице в презентации с помощью Java

Вы также можете получить доступ к таблицам в существующих презентациях PowerPoint и управлять ими по мере необходимости. Ниже приведены шаги для доступа к таблицам в презентации.

  • Сначала загрузите существующую презентацию, используя класс Presentation.
  • Затем получите ссылку на нужный слайд в объект ISlide.
  • Создайте экземпляр ITable и инициализируйте его нулевым значением.
  • Перебрать все объекты IShape в коллекции ISlide.getShapes().
  • Отфильтруйте фигуры типа ITable.
  • Введите форму в ITable и манипулируйте ею по мере необходимости.
  • Наконец, сохраните презентацию, используя метод Presentation.save(String, SaveFormat).

В следующем примере кода показано, как получить доступ к таблицам в презентации PowerPoint с помощью Java.

// Создать или загрузить презентацию
Presentation pres = new Presentation("UpdateExistingTable.pptx");
try {
    // Доступ к первому слайду
    ISlide sld = pres.getSlides().get_Item(0);

    // Инициализировать ITable
    ITable tbl = null;

    // Перебрать фигуры и получить ссылку на найденную таблицу
    for (IShape shp : sld.getShapes()) 
    {
        if (shp instanceof ITable) 
        {
            tbl = (ITable) shp;
            // Установить текст первого столбца второй строки
            tbl.get_Item(0, 1).getTextFrame().setText("New");
        }
    }
    
    // Запишите PPTX на диск
    pres.save("table1_out.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Форматирование текста в таблицах PowerPoint с помощью Java

Aspose.Slides for Java также позволяет довольно легко задавать форматирование таблиц, как показано в следующих шагах.

  • Сначала загрузите существующую презентацию, используя класс Presentation.
  • Затем получите ссылку на нужный слайд в объект ISlide.
  • Получить ссылку на нужную таблицу со слайда в экземпляр класса ITable.
  • Установите форматирование с помощью классов PortionFormat, ParagraphFormat и TextFrameFormat.
  • Назначьте форматирование таблице с помощью методов ITable.setTextFormat().
  • Наконец, сохраните презентацию, используя метод Presentation.save(String, SaveFormat).

В следующем примере кода показано, как настроить форматирование таблицы в PowerPoint с помощью Java.

// Загрузить презентацию
Presentation pres = new Presentation("simpletable.pptx");
try {
    // Получить ссылку на таблицу
    ITable someTable = (ITable) pres.getSlides().get_Item(0).getShapes().get_Item(0);
    
    // Установить высоту шрифта ячеек таблицы
    PortionFormat portionFormat = new PortionFormat();
    portionFormat.setFontHeight(25);
    someTable.setTextFormat(portionFormat);
    
    // Установить выравнивание текста ячеек таблицы и правое поле за один вызов
    ParagraphFormat paragraphFormat = new ParagraphFormat();
    paragraphFormat.setAlignment(TextAlignment.Right);
    paragraphFormat.setMarginRight(20);
    someTable.setTextFormat(paragraphFormat);
    
    // Установить вертикальный тип текста ячеек таблицы
    TextFrameFormat textFrameFormat = new TextFrameFormat();
    textFrameFormat.setTextVerticalType(TextVerticalType.Vertical);
    someTable.setTextFormat(textFrameFormat);
    
    // Сохранить презентацию
    pres.save("result.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Блокировка соотношения сторон таблиц в PowerPoint с помощью Java

Вы также можете заблокировать соотношение сторон таблиц в презентациях PowerPoint с помощью Java. Ниже приведены шаги для достижения этого.

  • Сначала загрузите существующую презентацию, используя класс Presentation.
  • Получить ссылку на нужный слайд в объект ISlide.
  • Создайте таблицу или получите ссылку на существующую таблицу в объект ITable.
  • Заблокируйте соотношение сторон с помощью метода ITable.getGraphicalObjectLock().setAspectRatioLocked(!ITable.getGraphicalObjectLock().getAspectRatioLocked()).
  • Наконец, сохраните презентацию, используя метод Presentation.save(String, SaveFormat).

В следующем примере кода показано, как заблокировать соотношение сторон таблицы в презентациях PowerPoint.

// Загрузить презентацию
Presentation pres = new Presentation("pres.pptx");
try {
    // Получить ссылку на таблицу
    ITable table = (ITable)pres.getSlides().get_Item(0).getShapes().get_Item(0);
    System.out.println("Заблокировать соотношение сторон set: " + table.getGraphicalObjectLock().getAspectRatioLocked());

    // Заблокировать соотношение сторон
    table.getGraphicalObjectLock().setAspectRatioLocked(!table.getGraphicalObjectLock().getAspectRatioLocked()); // invert
    System.out.println("Заблокировать соотношение сторон set: " + table.getGraphicalObjectLock().getAspectRatioLocked());

    // Сохранить презентацию
    pres.save("pres-out.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Получите бесплатную лицензию API

Вы можете использовать Aspose.Slides for Java без оценочных ограничений, получив бесплатную временную лицензию.

Вывод

В этой статье вы узнали, как создавать таблицы в презентациях PowerPoint с помощью Java. Более того, вы видели, как получить доступ к таблицам и установить их форматирование и соотношение сторон программно. Кроме того, вы можете посетить документацию, чтобы узнать больше об Aspose.Slides for Java. Также вы можете задать свои вопросы на нашем форуме.

Смотрите также