Преобразование JSON в Excel С#

MS Excel предоставляет множество функций для хранения и организации табличных данных в виде рабочих листов. Наряду с организацией данных вы можете выполнять различные операции, такие как сортировка данных, построение графиков, математические вычисления и т. д. JSON, с другой стороны, является широко используемым форматом для хранения и передачи данных в виде пары ключ-значение. Чаще всего он используется для передачи данных с сервера на веб-страницы. Возможен случай, когда вы получаете данные в виде JSON, т.е. из веб-сервиса, и хотите сохранить их на листе Excel. В таком случае оптимальным способом является автоматизация процесса путем программного импорта данных из JSON в рабочие листы Excel.

Чтобы справиться с вышеупомянутым сценарием в ASP.NET или любом приложении на основе C#, я покажу вам, как импортировать данные JSON в файл Excel. В этой статье вы узнаете, как:

  • импортировать данные из JSON в рабочий лист Excel в С#
  • применить форматирование ячейки при преобразовании JSON в Excel в C#

Чтобы импортировать данные из файлов JSON, мы воспользуемся возможностями Aspose.Cells for .NET. Это мощный API для управления файлами электронных таблиц в приложениях на основе .NET, .NET Core и Xamarin. Вы можете установить пакет API из NuGet или скачать DLL напрямую из раздела Загрузки.

Импорт данных из JSON в Excel на C#

Ниже приведены шаги для импорта данных из JSON в Excel XLSX:

В следующем примере кода показано, как импортировать данные из JSON в Excel на C#.

// Создать объект рабочей книги
Workbook workbook = new Workbook();
Worksheet worksheet = workbook.Worksheets[0];

// Чтение JSON-файла
string jsonInput = File.ReadAllText("Data.json");            

// Установить JsonLayoutOptions
JsonLayoutOptions options = new JsonLayoutOptions(); 
options.ArrayAsTable = true;

// Импорт данных JSON
JsonUtility.ImportData(jsonInput, worksheet.Cells, 0, 0, options);

// Сохранить файл Excel
workbook.Save("Import-Data-JSON-To-Excel.xlsx");

Введите данные 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
           }
       ]
   },
]

Выходной лист Excel

JSON в Эксель

Импорт JSON в Excel со стилями форматирования в C#

Вы также можете применять различные стили к рабочему листу Excel при импорте данных из файла JSON. Класс CellsFactory Aspose.Cells для .NET предоставляет ряд параметров для установки различных параметров стиля, таких как шрифт, цвет, выравнивание, стили границ и т. д. Ниже приведены шаги для импорта данных из JSON в Excel вместе со стилем.

В следующем примере кода применяются разные стили при импорте данных из JSON в Excel на C#.

// Создать объект рабочей книги
Workbook workbook = new Workbook();
Worksheet worksheet = workbook.Worksheets[0];

// Чтение JSON-файла
string jsonInput = File.ReadAllText("Data.json");

// Установить стили
CellsFactory factory = new CellsFactory();
Style style = factory.CreateStyle();
style.HorizontalAlignment = TextAlignmentType.Center;
style.Font.Color = System.Drawing.Color.BlueViolet;
style.Font.IsBold = true;

// Установить JsonLayoutOptions
JsonLayoutOptions options = new JsonLayoutOptions();
options.TitleStyle = style;
options.ArrayAsTable = true;

// Импорт данных JSON
JsonUtility.ImportData(jsonInput, worksheet.Cells, 0, 0, options);

// Сохранить файл Excel
workbook.Save("Import-Data-JSON-To-Excel.xlsx");

Выходной лист Excel

JSON в Excel С#

Смотрите также

Узнайте больше об Aspose.Cells для .NET

Вы можете узнать больше об Aspose.Cells для .NET, используя документацию и исходный код примеры.