Saltar al contenido

Agregar borde a una región fusionada en el libro de trabajo POI XSSF

Contamos con la mejor solución que hallamos online. Nosotros queremos que te sirva de ayuda y si quieres comentarnos cualquier detalle que nos pueda ayudar a perfeccionar nuestra información hazlo con libertad.

Solución:

Para hacer esto, debe agregar una celda en blanco a cada celda en la región fusionada, luego agregue los bordes apropiados a cada celda. Por ejemplo, el siguiente código creará una región combinada de 5 celdas en la misma fila, con un borde alrededor de toda la región combinada y el texto centrado en la región.

XSSFWorkbook wb = new XSSFWorkbook();
CellStyle borderStyle = wb.createCellStyle();
borderStyle.setBorderBottom(CellStyle.BORDER_THIN);
borderStyle.setBorderLeft(CellStyle.BORDER_THIN);
borderStyle.setBorderRight(CellStyle.BORDER_THIN);
borderStyle.setBorderTop(CellStyle.BORDER_THIN);
borderStyle.setAlignment(CellStyle.ALIGN_CENTER);
Sheet sheet = wb.createSheet("Test Sheet");
Row row = sheet.createRow(1);
for (int i = 1; i <= 5; ++i) 
    Cell cell = row.createCell(i);
    cell.setCellStyle(borderStyle);
    if (i == 1) 
        cell.setCellValue("Centred Text");
     

sheet.addMergedRegion(new CellRangeAddress(1, 1, 1, 5));

private void setBordersToMergedCells(XSSFWorkbook workBook, XSSFSheet sheet) 
        int numMerged = sheet.getNumMergedRegions();

    for(int i= 0; i

Haga esto para varias filas.

Workbook wb = new HSSFWorkbook();

// create a new sheet
Sheet sheet = wb.createSheet();


CellStyle borderStyle = wb.createCellStyle();
borderStyle.setBorderBottom(CellStyle.BORDER_THIN);
borderStyle.setBorderLeft(CellStyle.BORDER_THIN);
borderStyle.setBorderRight(CellStyle.BORDER_THIN);
borderStyle.setBorderTop(CellStyle.BORDER_THIN);
borderStyle.setAlignment(CellStyle.ALIGN_CENTER);
Sheet sheet1 = wb.createSheet("Test Sheet");
Row row = null;
Cell cell;
for (int i = 1; i <= 5; ++i) 
    row = sheet1.createRow(i);
    for(int j=1;j<=5;j++)
        cell= row.createCell(j);
        cell.setCellStyle(borderStyle);
        if (i == 1 && j==1) 
            cell.setCellValue("Centred Text");
         
    

sheet1.addMergedRegion(new CellRangeAddress(1, 5, 1, 5));

Reseñas y valoraciones del artículo

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *