Converter JSON para Excel C#

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:

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

JSON para 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.

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

JSON para Excel C#

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.