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:
- Создайте новый объект Workbook.
- Считайте данные из JSON с помощью метода System.IO.File.ReadAllText(string).
- Создайте объект класса JsonLayoutOptions для установки дополнительных параметров.
- Импортируйте данные из JSON в Excel с помощью метода JsonUtility.ImportData().
- Сохраните файл Excel, используя метод Workbook.Save(string).
В следующем примере кода показано, как импортировать данные из 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 в Excel со стилями форматирования в C#
Вы также можете применять различные стили к рабочему листу Excel при импорте данных из файла JSON. Класс CellsFactory Aspose.Cells для .NET предоставляет ряд параметров для установки различных параметров стиля, таких как шрифт, цвет, выравнивание, стили границ и т. д. Ниже приведены шаги для импорта данных из JSON в Excel вместе со стилем.
- Создайте новый объект Workbook.
- Прочитайте файл JSON, используя метод System.IO.File.ReadAllText(string).
- Создайте объект класса CellsFactory.
- Создайте объект Style с помощью метода CellsFactory.CreateStyle().
- Установите нужные свойства, такие как Style.Font.Color.
- Импортируйте данные из JSON в Excel с помощью метода JsonUtility.ImportData().
- Сохраните файл Excel, используя метод Workbook.Save(string).
В следующем примере кода применяются разные стили при импорте данных из 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
Смотрите также
Узнайте больше об Aspose.Cells для .NET
Вы можете узнать больше об Aspose.Cells для .NET, используя документацию и исходный код примеры.