5 Maneiras de Converter JSON para Excel em C# 1. Usando a biblioteca ClosedXML: A biblioteca ClosedXML é uma das opções mais populares e fáceis de usar para criar arquivos Excel (.xlsx) em C#. Primeiro, você precisa instalar o pacote via NuGet. ```csharp // Instale o pacote ClosedXML pelo NuGet Install-Package ClosedXML using System; using Newtonsoft.Json.Linq; // Para analisar JSON using ClosedXML.Excel; class Program { static void Main() { string json = "[{\"Name\":\"John\",\"Age\":30},{\"Name\":\"Jane\",\"Age\":25}]"; var jArray = JArray.Parse(json); using (var workbook = new XLWorkbook()) { var worksheet = workbook.Worksheets.Add("Sheet1"); // Adiciona cabeçalhos worksheet.Cell(1, 1).Value = "Name"; worksheet.Cell(1, 2).Value = "Age"; int row = 2; foreach (var item in jArray) { worksheet.Cell(row, 1).Value = item["Name"]; worksheet.Cell(row, 2).Value = item["Age"]; row++; } workbook.SaveAs("output.xlsx"); } } } ``` 2. Usando a biblioteca EPPlus: Outra opção é usar a biblioteca EPPlus, que também facilita a criação de arquivos Excel. ```csharp // Instale o pacote EPPlus pelo NuGet Install-Package EPPlus using System; using Newtonsoft.Json.Linq; // Para analisar JSON using OfficeOpenXml; class Program { static void Main() { string json = "[{\"Name\":\"John\",\"Age\":30},{\"Name\":\"Jane\",\"Age\":25}]"; var jArray = JArray.Parse(json); using (var package = new ExcelPackage()) { var worksheet = package.Workbook.Worksheets.Add("Sheet1"); // Adiciona cabeçalhos worksheet.Cells[1, 1].Value = "Name"; worksheet.Cells[1, 2].Value = "Age"; int row = 2; foreach (var item in jArray) { worksheet.Cells[row, 1].Value = item["Name"]; worksheet.Cells[row, 2].Value = item["Age"]; row++; } package.SaveAs(new System.IO.FileInfo("output.xlsx")); } } } ``` 3. Usando o Excel Interop: Se você estiver trabalhando em um ambiente Windows e tiver o Office instalado, pode usar o Excel Interop. ```csharp using System; using Newtonsoft.Json.Linq; // Para analisar JSON using Excel = Microsoft.Office.Interop.Excel; class Program { static void Main() { string json = "[{\"Name\":\"John\",\"Age\":30},{\"Name\":\"Jane\",\"Age\":25}]"; var jArray = JArray.Parse(json); var excelApp = new Excel.Application(); var workbook = excelApp.Workbooks.Add(Type.Missing); var worksheet = (Excel.Worksheet)workbook.Sheets[1]; // Adiciona cabeçalhos worksheet.Cells[1, 1] = "Name"; worksheet.Cells[1, 2] = "Age"; int row = 2; foreach (var item in jArray) { worksheet.Cells[row, 1] = item["Name"]; worksheet.Cells[row, 2] = item["Age"]; row++; } workbook.SaveAs("output.xlsx"); excelApp.Quit(); } } ``` 4. Usando a biblioteca NPOI: A biblioteca NPOI é uma opção para criar arquivos Excel em ambientes .NET. ```csharp // Instale o pacote NPOI pelo NuGet Install-Package NPOI using System; using System.IO; using Newtonsoft.Json.Linq; // Para analisar JSON using NPOI.SS.UserModel; using NPOI.XSSF.UserModel; class Program { static void Main() { string json = "[{\"Name\":\"John\",\"Age\":30},{\"Name\":\"Jane\",\"Age\":25}]"; var jArray = JArray.Parse(json); IWorkbook workbook = new XSSFWorkbook(); ISheet sheet1 = workbook.CreateSheet("Sheet1"); // Adiciona cabeçalhos IRow headerRow = sheet1.CreateRow(0); headerRow.CreateCell(0).SetCellValue("Name"); headerRow.CreateCell(1).SetCellValue("Age"); int rownum = 1; foreach (var item in jArray) { IRow row = sheet1.CreateRow(rownum++); row.CreateCell(0).SetCellValue(item["Name"]); row.CreateCell(1).SetCellValue(item["Age"]); } using (FileStream stream = new FileStream("output.xlsx", FileMode.Create, FileAccess.Write)) { workbook.Write(stream); } } } ``` 5. Usando o StreamWriter para criar um arquivo CSV: Se você só precisa de uma saída em formato CSV e não necessariamente Excel, pode usar o StreamWriter. ```csharp using System; using System.IO; using Newtonsoft.Json.Linq; // Para analisar JSON class Program { static void Main() { string json = "[{\"Name\":\"John\",\"Age\":30},{\"Name\":\"Jane\",\"Age\":25}]"; var jArray = JArray.Parse(json); using (StreamWriter sw = new StreamWriter("output.csv")) { // Adiciona cabeçalhos sw.WriteLine("Name,Age"); foreach (var item in jArray) { sw.WriteLine($"{item["Name"]},{item["Age#
Este guia descreve 5 métodos eficazes para converter dados JSON em Excel usando o Aspose.Cells. Aprenda a lidar com matrizes, estruturas aninhadas, respostas de APIs e mais no C#.