Formatando tabelas e estilos de tabela em Aspose.Words para Java

Introdução à formatação de tabelas e estilos de tabela em Aspose.Words for Java

As tabelas desempenham um papel crucial na estruturação e organização das informações nos documentos. Aspose.Words for Java fornece recursos poderosos para formatar tabelas e aplicar estilos de tabela para aprimorar o apelo visual de seus documentos. Neste guia passo a passo, exploraremos vários aspectos da formatação de tabelas e da aplicação de estilos de tabela usando Aspose.Words for Java.

Pré-requisitos

Antes de entrarmos nos detalhes, certifique-se de ter a biblioteca Aspose.Words for Java integrada ao seu projeto. Você pode baixá-lo no site da Aspose:Baixe Aspose.Words para Java.

Obtenha distância entre a tabela e o texto circundante

Para começar, vamos explorar como recuperar a distância entre uma tabela e o texto ao redor em um documento.

Document doc = new Document("Your Directory Path" + "Tables.docx");
Table table = (Table) doc.getChild(NodeType.TABLE, 0, true);
System.out.println("Distance Top: " + table.getDistanceTop());
System.out.println("Distance Bottom: " + table.getDistanceBottom());
System.out.println("Distance Right: " + table.getDistanceRight());
System.out.println("Distance Left: " + table.getDistanceLeft());

Aplicar borda de contorno a uma tabela

Você pode alinhar uma tabela ao centro da página, limpar as bordas existentes e definir uma borda de contorno personalizada com este código:

Document doc = new Document("Your Directory Path" + "Tables.docx");
Table table = (Table) doc.getChild(NodeType.TABLE, 0, true);
table.setAlignment(TableAlignment.CENTER);
table.clearBorders();
table.setBorder(BorderType.LEFT, LineStyle.SINGLE, 1.5, Color.GREEN, true);
table.setBorder(BorderType.RIGHT, LineStyle.SINGLE, 1.5, Color.GREEN, true);
table.setBorder(BorderType.TOP, LineStyle.SINGLE, 1.5, Color.GREEN, true);
table.setBorder(BorderType.BOTTOM, LineStyle.SINGLE, 1.5, Color.GREEN, true);
table.setShading(TextureIndex.TEXTURE_SOLID, Color.lightGray, new Color(0, true));

Construa uma mesa com bordas

Este trecho de código demonstra como criar uma tabela e definir bordas para a tabela e suas células:

Document doc = new Document("Your Directory Path" + "Tables.docx");
Table table = (Table) doc.getChild(NodeType.TABLE, 0, true);
table.clearBorders();
table.setBorders(LineStyle.SINGLE, 1.5, Color.GREEN);

Modificar formatação de linha

Aprenda como modificar a formatação de uma linha específica em uma tabela:

Document doc = new Document("Your Directory Path" + "Tables.docx");
Table table = (Table) doc.getChild(NodeType.TABLE, 0, true);
Row firstRow = table.getFirstRow();
firstRow.getRowFormat().getBorders().setLineStyle(LineStyle.NONE);
firstRow.getRowFormat().setHeightRule(HeightRule.AUTO);
firstRow.getRowFormat().setAllowBreakAcrossPages(true);

Aplicar formatação de linha

Este exemplo demonstra como aplicar formatação a uma linha inteira de uma tabela:

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
builder.insertCell();
RowFormat rowFormat = builder.getRowFormat();
rowFormat.setHeight(100.0);
rowFormat.setHeightRule(HeightRule.EXACTLY);
table.setLeftPadding(30.0);
table.setRightPadding(30.0);
table.setTopPadding(30.0);
table.setBottomPadding(30.0);
builder.writeln("I'm a wonderfully formatted row.");

Definir preenchimento de célula

Explore como definir o preenchimento para células individuais em uma tabela:

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
builder.startTable();
builder.insertCell();
builder.getCellFormat().setPaddings(30.0, 50.0, 30.0, 50.0);
builder.writeln("I'm a wonderfully formatted cell.");

Modificar formatação de célula

Descubra como modificar a formatação de uma célula específica dentro de uma tabela:

Document doc = new Document("Your Directory Path" + "Tables.docx");
Table table = (Table) doc.getChild(NodeType.TABLE, 0, true);
Cell firstCell = table.getFirstRow().getFirstCell();
firstCell.getCellFormat().setWidth(30.0);
firstCell.getCellFormat().setOrientation(TextOrientation.DOWNWARD);
firstCell.getCellFormat().getShading().setForegroundPatternColor(Color.GREEN);

Formatar tabela e célula com bordas diferentes

Aprenda como definir bordas diferentes para células individuais em uma tabela:

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
// Defina as bordas da mesa
table.setBorders(LineStyle.SINGLE, 2.0, Color.BLACK);
// Definir sombreamento de células para células individuais
builder.getCellFormat().getShading().setBackgroundPatternColor(Color.RED);
// Adicione conteúdo às células
builder.writeln("Cell #1");
builder.insertCell();
builder.getCellFormat().getShading().setBackgroundPatternColor(Color.GREEN);
builder.writeln("Cell #2");
// Limpar formatação de célula para a próxima linha
builder.getCellFormat().clearFormatting();
// Crie bordas maiores para a primeira célula desta linha
builder.getCellFormat().getBorders().getLeft().setLineWidth(4.0);
builder.getCellFormat().getBorders().getRight().setLineWidth(4.0);
builder.getCellFormat().getBorders().getTop().setLineWidth(4.0);
builder.getCellFormat().getBorders().getBottom().setLineWidth(4.0);
builder.writeln("Cell #3");
builder.insertCell();
builder.getCellFormat().clearFormatting();
builder.writeln("Cell #4");

Definir título e descrição da tabela

Adicione um título e uma descrição à sua tabela:

Document doc = new Document("Your Directory Path" + "Tables.docx");
Table table = (Table) doc.getChild(NodeType.TABLE, 0, true);
table.setTitle("Test title");
table.setDescription("Test description");

Etapa 10: permitir espaçamento entre células

Permita o espaçamento entre células e defina seu valor para uma tabela:

Document doc = new Document("Your Directory Path" + "Tables.docx");
Table table = (Table) doc.getChild(NodeType.TABLE, 0, true);
table.setAllowCellSpacing(true);
table.setCellSpacing(2.0);

Passo 11: Construa uma Mesa com Estilo

Crie uma tabela com um estilo predefinido:

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
table.setStyleIdentifier(StyleIdentifier.MEDIUM_SHADING_1_ACCENT_1);
table.setStyleOptions(TableStyleOptions.FIRST_COLUMN | TableStyleOptions.ROW_BANDS | TableStyleOptions.FIRST_ROW);
builder.writeln("Item");
builder.getCellFormat().setRightPadding(40.0);
builder.insertCell();
builder.writeln("Quantity (kg)");

Etapa 12: Expanda a formatação em células e linhas do estilo

Aprenda como expandir estilos de tabela para aplicar formatação a células e linhas:

Document doc = new Document("Your Directory Path" + "Tables.docx");
Table table = (Table) doc.getChild(NodeType.TABLE, 0, true);
Cell firstCell = table.getFirstRow().getFirstCell();
Color cellShadingBefore = firstCell.getCellFormat().getShading().getBackgroundPatternColor();
doc.expandTableStylesToDirectFormatting();
Color cellShadingAfter = firstCell.getCellFormat().getShading().getBackgroundPatternColor();

Etapa 13: Crie um estilo de tabela

Crie um estilo de tabela personalizado com formatação específica:

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
table.setStyleIdentifier(StyleIdentifier.MEDIUM_SHADING_1_ACCENT_1);
table.setStyleOptions(TableStyleOptions.FIRST_COLUMN | TableStyleOptions.ROW_BANDS | TableStyleOptions.FIRST_ROW);
builder.writeln("Item");
builder.getCellFormat().setRightPadding(40.0);
builder.insertCell();
builder.writeln("Quantity (kg)");

Etapa 14: Definir formatação condicional

Aplique formatação condicional às linhas de uma tabela:

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
TableStyle tableStyle = (TableStyle) doc.getStyles().add(StyleType.TABLE, "MyTableStyle1");
tableStyle.getConditionalStyles().getFirstRow().getShading().setBackgroundPatternColor(Color.yellow);
table.setStyle(tableStyle);

Etapa 15: definir a formatação de TableCell

Defina uma formatação específica para células individuais:

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
builder.startTable();
builder.insertCell();
CellFormat cellFormat = builder.getCellFormat();
cellFormat.setWidth(250.0);
cellFormat.setLeftPadding(30.0);
cellFormat.setRightPadding(30.0);
cellFormat.setTopPadding(30.0);
cellFormat.setBottomPadding(30.0);
builder.writeln("I'm a wonderfully formatted cell.");

Etapa 16: definir a formatação do TableRow

Aplique formatação a linhas inteiras de uma tabela:

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
RowFormat rowFormat = builder.getRowFormat();
rowFormat.setHeight(100.0);
rowFormat.setHeightRule(HeightRule.EXACTLY);
table.setLeftPadding(30.0);
table.setRightPadding(30.0);
table.setTopPadding(30.0);
table.setBottomPadding(30.0);
builder.writeln("I'm a wonderfully formatted row.");

Conclusão

Aspose.Words for Java permite formatar tabelas e aplicar estilos de tabela com precisão. Desde a modificação da formatação de células individuais até a criação de estilos de tabela personalizados, você tem as ferramentas para tornar seus documentos visualmente atraentes e organizados.

Perguntas frequentes

Como faço o download do Aspose.Words para Java?

Você pode baixar Aspose.Words para Java no site da Aspose:Baixe Aspose.Words para Java.

Posso aplicar bordas diferentes a células individuais de uma tabela?

Sim, você pode definir bordas diferentes para células individuais em uma tabela usando Aspose.Words for Java, conforme demonstrado neste guia.

Qual é o propósito de definir um título e uma descrição de tabela?

Definir um título e uma descrição de tabela melhora a acessibilidade e a organização do seu documento, facilitando a compreensão do conteúdo pelos leitores e pelas tecnologias assistenciais.

Como posso aplicar formatação condicional a linhas específicas de uma tabela?

Você pode aplicar formatação condicional a linhas específicas de uma tabela definindo estilos de tabela personalizados com regras de formatação condicional, conforme mostrado neste guia.

Onde posso encontrar mais documentação e recursos para Aspose.Words for Java?

Para documentação abrangente e recursos adicionais, visite a documentação do Aspose.Words para Java:Documentação Aspose.Words para Java.