Scalanie komórek w programie Word za pomocą języka Java

W tym artykule opisano, jak scalić komórki w Word przy użyciu Java. Zawiera ustawienia IDE, listę kroków i przykładowy kod pokazujący scalanie tabel w programie Word przy użyciu Java. Używa wstępnie zdefiniowanej metody i pokazuje użycie tej metody do łączenia zakresu komórek w tabeli docelowej.

Kroki łączenia komórek w programie Word za pomocą języka Java

  1. Ustaw środowisko tak, aby używało Aspose.Words for Java do łączenia komórek tabeli
  2. Dodaj wstępnie zdefiniowaną metodę mergeCells() do swojej aplikacji
  3. Załaduj źródłowy plik Word document zawierający tabelę
  4. Uzyskaj dostęp do tabeli docelowej z załadowanego pliku Word
  5. Utwórz odwołanie do komórek początkowych i końcowych, które chcesz połączyć
  6. Wywołaj metodę mergeCells() i podaj komórkę początkową i końcową
  7. Save zmodyfikowany plik Word

Te kroki definiują sposób łączenia tabel w programie Word za pomocą języka Java. Dodaj wstępnie zdefiniowaną metodę w swojej aplikacji, załaduj plik źródłowy programu Word do obiektu klasy Document, pobierz odniesienie do tabeli docelowej i zdefiniuj komórki początkowe/końcowe zakresu, który chcesz połączyć. Na koniec wywołaj metodę mergeCells(), która zaktualizuje załadowany plik programu Word i zapisze go jako nowy plik programu Word pod inną nazwą.

Kod do scalania komórek w tabeli programu Word za pomocą języka Java

import com.aspose.words.*;
import java.awt.*;
public class Main
{
static void mergeCells(Cell startCell, Cell endCell)
{
Table parentTable = startCell.getParentRow().getParentTable();
// Define start and ending cell
Point startCellPos = new Point(startCell.getParentRow().indexOf(startCell), parentTable.indexOf(startCell.getParentRow()));
Point endCellPos = new Point(endCell.getParentRow().indexOf(endCell), parentTable.indexOf(endCell.getParentRow()));
// Create a range of cells
Rectangle range = new Rectangle(Math.min(startCellPos.x, endCellPos.y), Math.min(startCellPos.y, endCellPos.y),
Math.abs(endCellPos.x - startCellPos.x) + 1, Math.abs(endCellPos.y - startCellPos.y) + 1);
for (Row currentRow : parentTable.getRows())
{
for (Cell cell : currentRow.getCells())
{
Point currentPos = new Point(currentRow.indexOf(cell), parentTable.indexOf(currentRow));
// Validate the current cell
if (range.contains(currentPos))
{
cell.getCellFormat().setHorizontalMerge(currentPos.x == range.getX() ? CellMerge.FIRST : CellMerge.PREVIOUS);
cell.getCellFormat().setVerticalMerge(currentPos.y == range.getY() ? CellMerge.FIRST : CellMerge.PREVIOUS);
}
}
}
}
public static void main(String[] args) throws Exception // Merge Table Cells in Java
{
// Set the licenses
new License().setLicense("License.lic");
Document tableDoc = new Document("Table.docx");
Table tbl = tableDoc.getFirstSection().getBody().getTables().get(1);
Cell startingCell = tbl.getRows().get(1).getCells().get(1);
Cell endingCell = tbl.getRows().get(2).getCells().get(2);
// Merge the cells
mergeCells(startingCell, endingCell);
tableDoc.save("MergeCells.docx");
System.out.println("Word table merged successfully");
}
}

Ten fragment kodu pokazuje jak scalić komórki w programie Microsoft Word za pomocą języka Java. Wstępnie zdefiniowana metoda uzyskuje dostęp do tabeli nadrzędnej i ustawia właściwości scalania poziomego i pionowego wszystkich komórek w zakresie podanym jako argumenty. W przykładowym kodzie nie musisz wchodzić w szczegóły tej metody, wystarczy wywołać metodę mergeCells() z komórką początkową i końcową.

Ten samouczek pokazał nam, jak scalać komórki w programie Word za pomocą Java. Jeśli chcesz podzielić dokumenty programu Word na sekcje, zapoznaj się z artykułem na temat Podziel dokument Word na sekcje za pomocą Java.

 Polski