Тази статия ръководи как да слеете клетки в Word с помощта на Java. Той има настройките на IDE, списък със стъпки и примерен код, показващ как да обедините таблици в Word с помощта на Java. Той използва предварително дефиниран метод и показва използването на този метод за комбиниране на диапазон от клетки в целевата таблица.
Стъпки за комбиниране на клетки в Word с помощта на Java
- Задайте средата да използва Aspose.Words for Java за комбиниране на клетки от таблица
- Добавете предварително дефинирания метод mergeCells() във вашето приложение
- Заредете изходния Word document с таблица в него
- Достъп до целевата таблица от заредения Word файл
- Създайте препратка към началната и крайната клетка, които искате да обедините
- Извикайте метода mergeCells() и осигурете началната и крайната клетка
- Save модифицирания файл на Word
Тези стъпки дефинират как да комбинирате таблици в Word с помощта на Java. Добавете предварително дефинирания метод във вашето приложение, заредете изходния Word файл в обекта на класа на документа, вземете препратката към целевата таблица и дефинирайте началните/крайните клетки на диапазона, който искате да обедините. Накрая извикайте метода mergeCells(), който актуализира заредения Word файл и го записва като нов Word файл с различно име.
Код за обединяване на клетки в таблица на Word с помощта на 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"); | |
} | |
} |
Този кодов фрагмент демонстрира как да обедините клетки в Microsoft Word с помощта на Java. Предварително дефинираният метод осъществява достъп до родителската таблица и задава свойствата за хоризонтално и вертикално сливане на всички клетки в диапазона, предоставен като аргументи. Във вашия примерен код не е необходимо да навлизате в подробности за този метод, просто извикайте метода mergeCells() с начална и крайна клетка.
Този урок ни насочи към как да обединим клетки в Word с помощта на Java. Ако искате да разделите документите на Word по секции, вижте статията на Разделете документ на Word на секции с помощта на Java.