ExcelValidator 1.0.3
dotnet add package ExcelValidator --version 1.0.3
NuGet\Install-Package ExcelValidator -Version 1.0.3
<PackageReference Include="ExcelValidator" Version="1.0.3" />
<PackageVersion Include="ExcelValidator" Version="1.0.3" />
<PackageReference Include="ExcelValidator" />
paket add ExcelValidator --version 1.0.3
#r "nuget: ExcelValidator, 1.0.3"
#:package ExcelValidator@1.0.3
#addin nuget:?package=ExcelValidator&version=1.0.3
#tool nuget:?package=ExcelValidator&version=1.0.3
ExcelValidator
Objetivo
O ExcelValidator é um serviço desenvolvido em .NET 9 que permite validar arquivos Excel (.xlsx
) com base em um conjunto flexível de regras. O serviço processa o arquivo Excel, aplica as regras de validação definidas para cada coluna e retorna o arquivo modificado, destacando as células inválidas com fundo rosa claro e comentários explicativos.
Como funciona
- O serviço recebe um arquivo Excel codificado em Base64 e uma lista de regras de validação.
- Cada regra é associada a uma coluna específica do Excel.
- Para cada célula, todas as regras definidas para a respectiva coluna são aplicadas.
- Se uma célula não atender a uma ou mais regras, ela é destacada e recebe um comentário com as mensagens de erro.
- O arquivo Excel validado é retornado também em Base64.
Exemplo de uso
Estrutura da requisição
A requisição deve conter:
Base64Excel
: string com o arquivo Excel codificado em Base64.Rules
: lista de regras de validação, onde cada regra possui:ColumnName
: nome da coluna a ser validada (deve coincidir com o cabeçalho do Excel).RuleType
: tipo da regra (ex:Required
,Regex
,MaxLength
,MinLength
,Numeric
, etc).RuleValue
: valor de referência para a regra (quando aplicável).ErrorMessage
: mensagem de erro personalizada.Exemplo de definição de regras
var request = new ValidationRequest
{
Base64Excel = "<arquivo_excel_em_base64>",
Rules = new List<ValidationRule>
{
new ValidationRule
{
ColumnName = "Email",
RuleType = "Required",
ErrorMessage = "O e-mail é obrigatório."
},
new ValidationRule
{
ColumnName = "Email",
RuleType = "Regex",
RuleValue = @"^[\w.-]+@[\w.-]+\.\w+$",
ErrorMessage = "Formato de e-mail inválido."
},
new ValidationRule
{
ColumnName = "Idade",
RuleType = "NumericGTZero",
ErrorMessage = "A idade deve ser um número maior que zero."
},
new ValidationRule
{
ColumnName = "Nome",
RuleType = "MaxLength",
RuleValue = "50",
ErrorMessage = "O nome deve ter no máximo 50 caracteres."
}
}
};
Observação:
Você pode definir múltiplas regras para a mesma coluna, e todas serão aplicadas. Caso uma célula viole mais de uma regra, todas as mensagens de erro serão exibidas no comentário da célula.
Tipos de regras suportadas
Required
: valor obrigatório (não pode ser vazio).Regex
: validação por expressão regular.MaxLength
: tamanho máximo do texto.MinLength
: tamanho mínimo do texto.Length
: tamanho exato do texto.GTIN
: validação de código GTIN/EAN.Numeric
: valor numérico.NumericGTZero
: valor numérico maior que zero.
Como executar
- Adicione a referência ao pacote ClosedXML.
- Importe e utilize o serviço
ExcelValidationService
em seu projeto. - Envie a requisição conforme o exemplo acima.
- O resultado será uma string Base64 do arquivo Excel validado, pronto para download ou exibição.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net9.0
- ClosedXML (>= 0.105.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.