Rochas.ExcelToJsonParser
1.0.7
dotnet add package Rochas.ExcelToJsonParser --version 1.0.7
NuGet\Install-Package Rochas.ExcelToJsonParser -Version 1.0.7
<PackageReference Include="Rochas.ExcelToJsonParser" Version="1.0.7" />
<PackageVersion Include="Rochas.ExcelToJsonParser" Version="1.0.7" />
<PackageReference Include="Rochas.ExcelToJsonParser" />
paket add Rochas.ExcelToJsonParser --version 1.0.7
#r "nuget: Rochas.ExcelToJsonParser, 1.0.7"
#:package Rochas.ExcelToJsonParser@1.0.7
#addin nuget:?package=Rochas.ExcelToJsonParser&version=1.0.7
#tool nuget:?package=Rochas.ExcelToJsonParser&version=1.0.7
README - ExcelToJsonParser
Componente utilitário para conversão de arquivos Excel em JSON, DataTable, Objetos dinâmicos e Modelos C# (gerados automaticamente via NJsonSchema).
Ele suporta dois modos principais de leitura:
- Tabular Sheet (planilhas em formato de tabela)
- Form Sheet (planilhas estruturadas como formulários)
🚀 Funcionalidades Principais
✔ Leitura em Modo Tabular
Planilhas no formato tabela (linhas x colunas)
JSON como string
var parser = new ExcelToJsonParser();
string json = parser.GetJsonStringFromTabular("arquivo.xlsx");
JSON como objetos (IEnumerable<object>)
var parser = new ExcelToJsonParser();
var objList = parser.GetJsonObjectFromTabular("arquivo.xlsx");
foreach(var obj in objList)
{
...
}
DataTable (com ou sem cabeçalho)
DataTable data = parser.GetDataTable("arquivo.xlsx", skipRows: 1, useHeader: true);
Classes C# a partir dos nomes das colunas
string classFile = parser.GetClassModelFromTabular("arquivo.xlsx");
✔ Form Mode
Planilhas estruturadas como formulário (ex.: "Campo: Valor").
JSON como string
string json = parser.GetJsonStringFromForm("arquivo.xlsx", "FichaCliente");
JSON como objeto
var obj = parser.GetJsonObjectFromForm("arquivo.xlsx", "FichaCliente");
Dictionary<string, object>
var dict = parser.GetDictionary("arquivo.xlsx", "FichaCliente");
Classe C#
string classModel = parser.GetClassModelFromForm("arquivo.xlsx", "FichaCliente");
🎯 Parâmetros Importantes
skipRows: Ignora linhas iniciais.
replaceFrom / replaceTo: Permite substituir partes do nome das colunas.
headerColumns: Permite informar manualmente o cabeçalho do Excel.
onlySampleRow: Quando true, lê apenas 1 linha. Usado internamente para geração de modelos C#.
🔧 Exemplos de Uso
Ler planilha tabular ignorando 2 linhas e normalizando cabeçalhos
var parser = new ExcelToJsonParser();
string json = parser.GetJsonStringFromTabular(
"produtos.xlsx",
skipRows: 2,
replaceFrom: new[] { " ", "-" },
replaceTo: new[] { "_", "" }
);
Console.WriteLine(json);
🧱 Estrutura Retornada
Exemplo típico do modo Tabular:
[
{
"Nome": "Ana",
"Idade": 30,
"Ativo": true
},
{
"Nome": "João",
"Idade": 22,
"Ativo": false
}
]
Modo Form:
{
"Nome": "Carlos",
"CPF": "111.222.333-44",
"Telefone": "(11) 99999-0000"
}
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. 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. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- ClosedXML (>= 0.105.0)
- ExcelDataReader (>= 3.8.0)
- ExcelDataReader.DataSet (>= 3.8.0)
- NJsonSchema (>= 11.5.2)
- NJsonSchema.CodeGeneration (>= 11.5.2)
- NJsonSchema.CodeGeneration.CSharp (>= 11.5.2)
- System.Text.Encoding.CodePages (>= 10.0.0)
- System.Text.Json (>= 10.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.7 | 690 | 12/2/2025 |
Dependency packages update