Convertir JSON a Excel C#

MS Excel proporciona una variedad de funciones para mantener y organizar datos tabulares en forma de hojas de trabajo. Junto con la organización de datos, puede realizar varias operaciones, como clasificación de datos, trazado de gráficos, cálculos matemáticos, etc. JSON, por otro lado, es un formato ampliamente utilizado para almacenar y transmitir datos en forma de pares clave-valor. La mayoría de las veces, se utiliza para transmitir datos desde el servidor a las páginas web. Podría darse el caso de que reciba los datos en forma de JSON, es decir, de un servicio web, y desee guardarlos en una hoja de cálculo de Excel. En tal caso, la forma óptima es automatizar el proceso mediante la importación de datos de JSON a hojas de cálculo de Excel mediante programación.

Para lidiar con el escenario mencionado anteriormente en ASP.NET o cualquier aplicación basada en C#, le mostraré cómo importar datos JSON a un archivo de Excel. En este artículo, aprenderá cómo:

  • importar datos de JSON a la hoja de cálculo de Excel en C#
  • aplicar formato de celda al convertir JSON a Excel en C#

Para importar datos de archivos JSON, aprovecharemos las capacidades de Aspose.Cells for .NET. Es una potente API para manipular archivos de hojas de cálculo en aplicaciones basadas en .NET, .NET Core y Xamarin. Puede instalar el paquete de la API desde NuGet o descargar la DLL directamente desde la sección Descargas.

Importar datos de JSON a Excel en C#

Los siguientes son los pasos para importar datos de JSON a Excel XLSX:

El siguiente ejemplo de código muestra cómo importar datos de JSON a Excel en C#.

// Crear un objeto de Workbook
Workbook workbook = new Workbook();
Worksheet worksheet = workbook.Worksheets[0];

// Leer archivo JSON
string jsonInput = File.ReadAllText("Data.json");            

// Establecer JsonLayoutOptions
JsonLayoutOptions options = new JsonLayoutOptions(); 
options.ArrayAsTable = true;

// Importar datos JSON
JsonUtility.ImportData(jsonInput, worksheet.Cells, 0, 0, options);

// Guardar archivo de Excel
workbook.Save("Import-Data-JSON-To-Excel.xlsx");

Introducir datos 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
           }
       ]
   },
]

Hoja de trabajo de Excel de salida

JSON a Excel

Importe JSON a Excel con estilos de formato en C#

También puede aplicar diferentes estilos a la hoja de cálculo de Excel al importar los datos del archivo JSON. La clase CellsFactory de Aspose.Cells for .NET proporciona una variedad de opciones para establecer varios parámetros de estilo, como fuente, color, alineación, estilos de borde, etc. Los siguientes son los pasos para importar datos de JSON a Excel junto con el estilo.

El siguiente ejemplo de código aplica diferentes estilos al importar datos de JSON a Excel en C#.

// Crear un objeto de Workbook
Workbook workbook = new Workbook();
Worksheet worksheet = workbook.Worksheets[0];

// Leer archivo JSON
string jsonInput = File.ReadAllText("Data.json");

// Establecer estilos
CellsFactory factory = new CellsFactory();
Style style = factory.CreateStyle();
style.HorizontalAlignment = TextAlignmentType.Center;
style.Font.Color = System.Drawing.Color.BlueViolet;
style.Font.IsBold = true;

// Establecer JsonLayoutOptions
JsonLayoutOptions options = new JsonLayoutOptions();
options.TitleStyle = style;
options.ArrayAsTable = true;

// Importar datos JSON
JsonUtility.ImportData(jsonInput, worksheet.Cells, 0, 0, options);

// Guardar archivo de Excel
workbook.Save("Import-Data-JSON-To-Excel.xlsx");

Hoja de trabajo de Excel de salida

JSON a Excel C#

Ver también

Más información sobre Aspose.Cells for .NET

Puede explorar más sobre Aspose.Cells for .NET utilizando la documentación y el código fuente ejemplos.