Guia Completo do Sistema de Anotações do Apache Fesod: Tutorial Avançado de @ExcelProperty e @ExcelIgnore

Introdução ao Sistema de Anotações do Apache Fesod

O sistema de anotações do Apache Fesod constitui uma estrutura de processamento de dados Excel baseada em anotações Java, permitindo implementar operações complexas de leitura e escrita em planilhas através de simples conifgurações de anotações. A principal vantagem do Fesod reside em sua capacidade de processar arquivos extensos de forma rápida e eficiente, resolvendo efetivamente problemas de estouro de memória.

Análise Completa da Anotação @ExcelProperty

A anotação @ExcelProperty é a mais fundamental no Fesod, servindo para definir o mapeamento entre colunas do Excel e campos Java.

Mapeamento Básico de Nomes de Colunas

A forma mais simples de utilização envolve especificar o título da coluna no Excel através do atributo value:

@ExcelProperty("nome_cliente")
private String nome;

@ExcelProperty("idade_cliente") 
private Integer idade;

Funcionalidades Avançadas: Cabeçalhos Multinível

O Fesod suporta estruturas complexas de cabeçalhos com múltiplos níveis:

@ExcelProperty({"dados_pessoais", "nome_completo"})
private String nomeCompleto;

@ExcelProperty({"dados_pessoais", "idade"})
private Integer idade;

Controle Preciso: Índice e Ordenação de Colunas

Através dos atributos index e order é possível obter um controle mais preciso das colunas:

@ExcelProperty(value = "nome_cliente", index = 0)
private String nome;

@ExcelProperty(value = "idade_cliente", index = 1) 
private Integer idade;

Conversores Personalizados

O atributo converter permite especificar conversores de dados personalizados:

@ExcelProperty(value = "data_cadastro", converter = ConversorDataPersonalizado.class)
private Date dataCadastro;

Aplicação Prática da Anotação @ExcelIgnore

A anotação @ExcelIgnore serve para marcar campos que não devem participar das operações de leitura e escrita no Excel.

Função Básica de Ignoração

@ExcelIgnore
private String campoInterno;

@ExcelIgnore  
private transient String campoTemporario;

Ignoração de Campos Não Anotados

Utilizando a anotação @ExcelIgnoreUnannotated é possível ignorar todos os campos que não possuem a anotação @ExcelProperty:

@ExcelIgnoreUnannotated
public class Cliente {
    @ExcelProperty("nome_usuario")
    private String nomeUsuario;
    
    private String senha; // Este campo será ignorado
}

Caso Prático: Configuração Completa de Entidade

A seguir, um exemplo completo de configuração de entidade:

@Getter
@Setter
@ColumnWidth(50)
@HeadRowHeight(50)
@ContentRowHeight(100)
public class Funcionario {
    @ExcelProperty(value = "codigo_funcionario", index = 0)
    private String codigoFuncionario;

    @ExcelProperty(value = "nome_completo", index = 1)
    private String nomeCompleto;

    @ExcelProperty(value = "data_admissao", index = 2)
    @DateTimeFormat("dd/MM/yyyy")
    private Date dataAdmissao;

    @ExcelProperty(value = "salario", index = 3)
    @NumberFormat("R$ #.##0,00")
    private BigDecimal salario;

    @ExcelIgnore
    private String observacoesInternas;
}

Prioridade de Anotações e Resolução de Conflitos

O sistema de anotações do Fesod possui regras claras de prioridade:

  1. Atributo index - Prioridade máxima
  2. Atributo order - Segunda prioridade mais alta
  3. Atributo value - Prioridade básica de correspondência
  4. Ordenação padrão - Prioridade mínima

Perguntas Frequentes

P: Como lidar com casos onde o nome do campo não corresponde ao nome da coluna no Excel?

R: Utilize o atributo value do @ExcelProperty para especificar o nome correspondente da coluna no Excel.

P: Como ignorar todos os campos não anotados?

R: Adicione a anotação @ExcelIgnoreUnannotated no nível da classe.

P: Qual a diferença entre index e order no @ExcelProperty?

R: O index especifica diretamente a posição da coluna, enquanto o order é utilizado para ordenação sem determinar a posição exata da coluna.

Recomendações de Boas Práticas

  1. Padronização de nomenclatura: Mantenha consistência entre os nomes dos campos Java e os nomes das colunas no Excel
  2. Uso adequado de índices: Utilize o atributo index em cenários onde a ordem das colunas é fixa
  3. Utilização inteligente da função de ignição: Marque campos desnecessários rapidamente para melhorar a eficiência do processamento

O sistema de anotações do Apache Fesod, através de anotações como @ExcelProperty e @ExcelIgnore, oferece aos desenvolvedores Java uma solução extremamente conveniente para processamento de Excel. Seja para exportação simples de dados ou processamento de arquivos grandes e complexos, este sistema de anotações é capaz de lidar com diversas situações de forma eficiente.

Tags: java Excel apache-fesod annotations easyexcel

Publicado em 6-9 16:20 por Thomas