Este artigo orienta sobre como mesclar células em Word usando Java. Ele tem as configurações do IDE, uma lista de etapas e um código de exemplo mostrando como mesclar tabelas no Word usando Java. Ele usa um método predefinido e mostra o uso desse método para combinar um intervalo de células na tabela de destino.
Etapas para combinar células no Word usando Java
- Defina o ambiente para usar Aspose.Words for Java para combinar células de tabela
- Adicione o método predefinido mergeCells() ao seu aplicativo
- Carregue o Word de origem document com uma tabela nele
- Acesse a tabela de destino do arquivo Word carregado
- Crie uma referência para as células inicial e final que você deseja mesclar
- Chame o método mergeCells() e forneça a célula inicial e final
- Save o arquivo Word modificado
Estas etapas definem como combinar tabelas no Word usando Java. Adicione o método predefinido em seu aplicativo, carregue o arquivo Word de origem no objeto de classe Document, obtenha a referência da tabela de destino e defina as células iniciais/finais do intervalo que você deseja mesclar. Por fim, chame o método mergeCells() que atualiza o arquivo Word carregado e o salva como um novo arquivo Word com um nome diferente.
Código para mesclar células em uma tabela do Word usando 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"); | |
} | |
} |
Este trecho de código demonstra como mesclar células no Microsoft Word usando Java. O método predefinido acessa a tabela pai e define as propriedades de mesclagem horizontal e vertical de todas as células no intervalo fornecido como argumentos. No seu código de exemplo, você não precisa entrar em detalhes sobre este método, basta chamar o método mergeCells() com a célula inicial final.
Este tutorial nos orientou sobre como mesclar células no Word usando Java. Se você quiser dividir documentos do Word por seções, consulte o artigo em Dividir documento do Word em seções usando Java.