Как конвертировать json в excel, за минуту

json to excel

Добрый день! Уважаемые читатели. Сегодня я с вами хочу разобрать ситуацию, когда у вас есть на входе данные в формате JSON, а вам из них нужно получить таблицу в Excel. В статье я рассмотрю разные методы и поделюсь скриптами. JSON он же JavaScript Object Notation — это мега популярный текстовый формат обмена данными, основанный на простом синтаксисе JavaScript. Он используется для хранения и передачи структурированной информации в удобочитаемом виде. JSON умеет работать с различными типами данных, включая строки, числа, массивы и объекты, что делает его универсальным инструментом. Благодаря своей простоте и легкости в обработке, он широко применяется в веб-разработке, API и настройках конфигураций. Давайте приступать.

Как выглядит формат JSON

Попросили меня проанализировать файл JSON, в котором есть email адреса, но есть много дублей. Задача состоит в том, чтобы переработать формат JSON в формать Excel, чтобы потом средствами офисного пакета убрать дубли. Внутренности выглядят вот так:

 {
"createdAt": "2025-04-28T22:29:57.036Z",
"email": "ivanov@pyatilistnik.org"
},
{
"createdAt": "2025-04-28T22:29:58.466Z",
"email": "ivanov@pyatilistnik.org"
},
{
"createdAt": "2025-04-28T22:30:22.523Z",
"email": "ivanov@pyatilistnik.org"
},
{
"createdAt": "2025-04-28T22:30:26.467Z",
"email": "ivanov@pyatilistnik.org"
},
{
"createdAt": "2025-04-29T06:44:54.525Z",
"email": "petrov@pyatilistnik.org"

И вот таких строк несколько сотен.

Формат JSON данных

Преобразование JSON в XMLS с помощью PowerShell

Для решения данной задачи я воспользуюсь скриптом PowerShell. Я понимаю, что многие вещи, в том числе и обработку такого JSON файла можно поручить какой-то модели ИИ, но мне кажется неправильным скармливать в публичный ИИ, персональные данные.

Запускаем PowerShell ISE, и копируем мой скрипт ниже. Единственное, вам необходимо заменить путь до вашего JSON файла и указать путь, куда требуется положить файл Excel на выходе.

# Тут задайте путь к вашему JSON-файлу
$jsonFilePath = "C:\Temp\full-report.json"

# Тут укажите путь для сохранения Excel-файла
$excelFilePath = "C:\Temp\full-report.json.xlsx"

# Пробуем прочитать JSON-файл
$jsonData = Get-Content -Path $jsonFilePath -Raw | ConvertFrom-Json

if ($jsonData -is [array]) {
$dataToExport = $jsonData
} else {
# Если это одиночный объект, создаем массив с одним элементом
$dataToExport = @($jsonData)
}

# Импорт модуля ImportExcel (требуется предварительная установка)
# Если модуль не установлен, выполните: Install-Module -Name ImportExcel -Force
Import-Module ImportExcel

# Экспорт данных в Excel
$dataToExport | Export-Excel -Path $excelFilePath -WorksheetName "Данные" -AutoSize -TableName "ИмпортированныеДанные" -BoldTopRow -FreezeTopRow

Преобразование JSON в xlsx через PowerShell

В результате выполнения я получил файл xlsx с разбивкой на столбцы.

Успешно созданный xlsx файл на основе JSON

Можно немного доработать скрипт, и он удалит все дубли в email и выведет только в конечном файле, уникальные.

# Тут задайте путь к вашему JSON-файлу
$jsonFilePath = "C:\Temp\full-report.json"

# Тут укажите путь для сохранения Excel-файла
$excelFilePath = "C:\Temp\full-report.json.xlsx"

# Пробуем прочитать JSON-файл
$jsonData = Get-Content -Path $jsonFilePath -Raw | ConvertFrom-Json

if ($jsonData -is [array]) {
$dataToExport = $jsonData
} else {
$dataToExport = @($jsonData)
}

# Удаляем дубликаты по полю email (предполагая, что такое поле существует)
$uniqueData = $dataToExport | Sort-Object -Property email -Unique

# Импорт модуля ImportExcel (требуется предварительная установка)
# Если модуль не установлен, выполните: Install-Module -Name ImportExcel -Force
Import-Module ImportExcel

# Экспорт данных в Excel
$uniqueData | Export-Excel -Path $excelFilePath -WorksheetName "Данные" -AutoSize -TableName "ИмпортированныеДанные" -BoldTopRow -FreezeTopRow

Полученный xlsx из JSON с фильтрацией дублей

Как импортировать JSON данные в Microsoft Excel

Я буду показывать на базе Microsoft Office 2021. Для того, чтобы импортировать JSON файл вам необходимо перейти на вкладку "Данные" и нажать кнопку "Получить данные", в открывшемся меню выберите "Из файла - Формат JSON".

Меню импорта JSON файла в Excel

С помощью окна проводника укажите путь до JSON файла, после чего нажмите кнопку импорта.

Путь до json файла при импорте в excel

Далее щелкаем правым кликом по столбцу "Список", убедитесь, что тут выбраны все записи. Из контекстного меню выберите пункт "В таблицу".

Импорт JSON в таблицу Excel

Вы можете выбрать нужный разделитель, но чаще всего достаточно оставить все как есть и нажать "Ok".

Выбор разделителей при импорте JSON файла

Теперь нажмите значок выбора импортируемых столбцов, я оставлю тут только email, у вас будет своя конфигурация.

Выбор столбцов при импорте JSON файла в Excel

Далее я понимаю, что у меня есть дубли в данном столбце, я постараюсь от них избавиться. Для этого щелкаем по столбцу правым кликом и из контекстного меню выберите пункт "Удалить дубликаты".

Удаление дублей при импорте файла JSON в Excel

В результате у меня получился маленький списочек из 20 записей. Теперь нажмите "Закрыть и загрузить".

Последний шаг перед загрузкой JSON данных в таблицу Excel

Поздравляю вас, вы успешно импортировали данные из JSON файла в таблицу Exel с фильтрацией дублей.

Успешный импорт JSON данных в таблицу Excel

Надеюсь, что было не сложно и у вас все получилось. С вами был Иван Сёмин, автор и создатель IT портала Pyatilistnik.org.

Оцените статью
Настройка серверов windows и linux
Добавить комментарий