Slå samman celler i Word med Java

Den här artikeln visar hur du slår ihop celler i Word med Java. Den har IDE-inställningarna, en lista med steg och en exempelkod som visar hur man slår samman tabeller i Word med Java. Den använder en fördefinierad metod och visar användningen av denna metod för att kombinera ett intervall av celler i måltabellen.

Steg för att kombinera celler i Word med Java

  1. Ställ in miljön att använda Aspose.Words for Java för att kombinera tabellceller
  2. Lägg till den fördefinierade metoden mergeCells() i din applikation
  3. Ladda källordet document med en tabell i den
  4. Öppna måltabellen från den laddade Word-filen
  5. Skapa en referens till start- och slutcellerna som du vill slå samman
  6. Anropa mergeCells()-metoden och ange start- och slutcellen
  7. Save den modifierade Word-filen

Dessa steg definierar hur man kombinerar tabeller i Word med Java. Lägg till den fördefinierade metoden i din applikation, ladda in Word-källfilen i dokumentklassobjektet, hämta referensen till måltabellen och definiera start-/slutcellerna för intervallet du vill slå samman. Till sist, anrop mergeCells()-metoden som uppdaterar den laddade Word-filen och sparar den som en ny Word-fil med ett annat namn.

Kod för att slå samman celler i Word-tabell med 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");
}
}

Det här kodavsnittet visar hur man slår samman celler i Microsoft Word med Java. Den fördefinierade metoden kommer åt den överordnade tabellen och ställer in de horisontella och vertikala sammanslagningsegenskaperna för alla celler i intervallet som anges som argument. I din exempelkod behöver du inte gå in på detaljer om den här metoden, bara anropa mergeCells()-metoden med startändens slutcell.

Denna handledning har guidat oss om hur man slår samman celler i Word med Java. Om du vill dela upp Word-dokument efter sektioner, se artikeln om Dela upp Word-dokument i sektioner med Java.

 Svenska