es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El cuadro de texto de Apache POI parece diferente al cuadro de texto de Excel.

Quiero hacer un cuadro de texto que se parezca al de la derecha en la imagen mostrada arriba.
Intenté seguir la documentación y escribí el siguiente código.

public void TestXSSFPatriarch(String fileName, String richText) {
Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet(“hssf”);
XSSFDrawing xssfDrawing = (XSSFDrawing) sheet.createDrawingPatriarch();
XSSFTextBox xssfTextBox = xssfDrawing.createTextbox(
new XSSFClientAnchor(0, 0, 25, 50, (short) 0, 0, (short) 25, 50));
xssfTextBox.setText(new XSSFRichTextString(richText));

try (OutputStream fileOut = new FileOutputStream(fileName)) {
    workbook.write(fileOut);
    System.out.println("Éxito");
} catch (IOException e) {
    e.printStackTrace();
}

}

El código anterior produce el cuadro de texto que se muestra a la izquierda en la imagen anterior.
Cualquier ayuda en esto sería muy apreciada.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para lograr el cuadro de texto en la imagen proporcionada, es necesario establecer las Propiedades para XSSFTextBox. Utiliza el siguiente código después de crear el objeto XSSFTextBox:

    xssfTextBox.setFillColor(255, 242, 204);
    xssfTextBox.setVerticalAlignment(VerticalAlignment.TOP);
    xssfTextBox.setLineVisible(false);
    xssfTextBox.setPadding(10, 10, 10, 10);
    xssfTextBox.setLineStyle(LineStyle.NONE);
    

    Nota: No olvides importar las clases necesarias, incluyendo VerticalAlignment, LineStyle.

    Al agregar estas propiedades, el cuadro de texto resultante debería parecerse al de la derecha en la imagen proporcionada. Puedes ajustar los valores según tus requisitos.

Comments are closed.