O MS Excel fornece uma variedade de recursos para manter e organizar dados tabulares na forma de planilhas. Juntamente com a organização dos dados, você pode realizar várias operações, como classificação de dados, plotagem de gráficos, cálculos matemáticos e etc. JSON, por outro lado, é um formato amplamente utilizado para armazenar e transmitir os dados na forma de pares chave-valor. Na maioria das vezes, é usado para transmitir dados do servidor para as páginas da web. Pode ser o caso de você receber os dados na forma de JSON, ou seja, de um serviço web, e desejar salvá-los em uma planilha do Excel. Nesse caso, a maneira ideal é automatizar o processo importando dados de planilhas JSON para planilhas do Excel programaticamente.
Para lidar com o cenário mencionado acima no ASP.NET ou em qualquer aplicativo baseado em C#, mostrarei como importar dados JSON para o arquivo Excel. Neste artigo, você aprenderá como:
- importar dados de JSON para planilha do Excel em C#
- aplicar formatação de célula ao converter JSON para Excel em C#
Para importar dados de arquivos JSON, aproveitaremos os recursos do Aspose.Cells for .NET. É uma API poderosa para manipular arquivos de planilha em aplicativos baseados em .NET, .NET Core e Xamarin. Você pode instalar o pacote da API de NuGet ou baixar a DLL diretamente da seção Downloads.
Importar dados de JSON para Excel em C#
A seguir estão as etapas para importar dados de JSON para Excel XLSX:
- Crie um novo objeto Pasta de trabalho.
- Leia dados de JSON usando o método System.IO.File.ReadAllText(string).
- Crie um objeto da classe JsonLayoutOptions para definir opções adicionais.
- Importe dados de JSON para Excel usando o método JsonUtility.ImportData().
- Salve o arquivo do Excel usando o método Workbook.Save(string).
O exemplo de código a seguir mostra como importar dados de JSON para Excel em C#.
// Criar um objeto de pasta de trabalho
Workbook workbook = new Workbook();
Worksheet worksheet = workbook.Worksheets[0];
// Ler arquivo JSON
string jsonInput = File.ReadAllText("Data.json");
// Definir JsonLayoutOptions
JsonLayoutOptions options = new JsonLayoutOptions();
options.ArrayAsTable = true;
// Importar dados JSON
JsonUtility.ImportData(jsonInput, worksheet.Cells, 0, 0, options);
// Salvar arquivo Excel
workbook.Save("Import-Data-JSON-To-Excel.xlsx");
Inserir dados JSON
[
{
Name: "John Smith",
Contract:
[
{
Client:
{
Name: "A Company"
},
Price: 1200000
},
{
Client:
{
Name: "B Ltd."
},
Price: 750000
},
{
Client:
{
Name: "C & D"
},
Price: 350000
}
]
},
{
Name: "Tony Anderson",
Contract:
[
{
Client:
{
Name: "E Corp."
},
Price: 650000
},
{
Client:
{
Name: "F & Partners"
},
Price: 550000
}
]
},
{
Name: "Jimmy Adams",
Contract:
[
{
Client:
{
Name: "MIT"
},
Price: 800000
},
{
Client:
{
Name: "SnB"
},
Price: 520000
}
]
},
]
Saída da planilha do Excel
Importar JSON para Excel com estilos de formatação em C#
Você também pode aplicar estilos diferentes à planilha do Excel ao importar os dados do arquivo JSON. A classe CellsFactory de Aspose.Cells para .NET fornece uma variedade de opções para definir vários parâmetros de estilo, como fonte, cor, alinhamento, estilos de borda, etc. A seguir estão as etapas para importar dados de JSON para Excel junto com o estilo.
- Crie um novo objeto Pasta de trabalho.
- Leia o arquivo JSON usando o método System.IO.File.ReadAllText(string).
- Crie um objeto da classe CellsFactory.
- Crie o objeto Style usando o método CellsFactory.CreateStyle().
- Defina as propriedades desejadas, como Style.Font.Color.
- Importe dados de JSON para Excel usando o método JsonUtility.ImportData().
- Salve o arquivo do Excel usando o método Workbook.Save(string).
O exemplo de código a seguir aplica estilos diferentes ao importar dados de JSON para Excel em C#.
// Criar um objeto de pasta de trabalho
Workbook workbook = new Workbook();
Worksheet worksheet = workbook.Worksheets[0];
// Ler arquivo JSON
string jsonInput = File.ReadAllText("Data.json");
// Definir estilos
CellsFactory factory = new CellsFactory();
Style style = factory.CreateStyle();
style.HorizontalAlignment = TextAlignmentType.Center;
style.Font.Color = System.Drawing.Color.BlueViolet;
style.Font.IsBold = true;
// Definir JsonLayoutOptions
JsonLayoutOptions options = new JsonLayoutOptions();
options.TitleStyle = style;
options.ArrayAsTable = true;
// Importar dados JSON
JsonUtility.ImportData(jsonInput, worksheet.Cells, 0, 0, options);
// Salvar arquivo Excel
workbook.Save("Import-Data-JSON-To-Excel.xlsx");
Saída da planilha do Excel
Veja também
Saiba mais sobre o Aspose.Cells para .NET
Você pode explorar mais sobre Aspose.Cells para .NET usando a documentação e o código-fonte exemplos.