Как экспортировать Excel в JSON: онлайн-инструменты и Python
2026-06-08 06:06:11 zaki zouСодержание
- Зачем экспортировать Excel в JSON?
- Как выглядят данные Excel в формате JSON?
- Метод 1: Экспорт Excel в JSON онлайн
- Метод 2: Экспорт Excel в JSON на Python с помощью Pandas
- Метод 3: Экспорт Excel в JSON на Python с помощью Spire.XLS
- Распространенные проблемы при преобразовании Excel в JSON
- Какой метод выбрать?
- Часто задаваемые вопросы

Если вам когда-либо приходилось загружать данные из электронной таблицы в веб-приложение, создавать REST API или мигрировать данные в базу данных NoSQL, вы, вероятно, сталкивались с распространенной проблемой: Excel не предоставляет встроенного способа сохранения данных в формате JSON.
К счастью, существует несколько способов экспортировать Excel в JSON, от быстрых онлайн-конвертеров до программных решений на Python. Лучший метод зависит от размера файла, требований к безопасности и от того, нужно ли вам сохранять структуру рабочей книги, такую как несколько листов или результаты формул.
В этом руководстве мы сравним наиболее практичные подходы и поможем вам выбрать правильное решение для вашего сценария.
Быстрая навигация
- Зачем экспортировать Excel в JSON?
- Как выглядят данные Excel в формате JSON?
- Метод 1: Экспорт Excel в JSON онлайн
- Метод 2: Экспорт Excel в JSON на Python с помощью Pandas
- Метод 3: Экспорт Excel в JSON на Python с помощью Spire.XLS
- Распространенные проблемы при преобразовании Excel в JSON
- Какой метод выбрать?
- Часто задаваемые вопросы
Зачем экспортировать Excel в JSON?
Excel — это наиболее широко используемый инструмент для хранения структурированных данных, но современные приложения обмениваются данными в формате JSON. Преобразование между этими форматами необходимо всякий раз, когда данные из электронной таблицы должны быть перемещены в веб-контекст.
Типичные сценарии использования включают:
- Отправка данных из электронных таблиц в веб-приложения
- Импорт данных в REST API
- Работа с JavaScript-фреймворками, такими как React, Vue или Angular
- Миграция данных в базы данных NoSQL, такие как MongoDB
- Обмен данными между системами в конвейерах интеграции
В Excel нет встроенной опции «Сохранить как JSON», поэтому вам потребуется внешний инструмент или библиотека для преодоления этого разрыва.
Как выглядят данные Excel в формате JSON?
Строки Excel обычно преобразуются в объекты JSON, а заголовки столбцов становятся ключами объектов.
Данные Excel:

Вывод JSON:
[
{"ID": 1, "Name": "Alice", "Department": "HR"},
{"ID": 2, "Name": "Bob", "Department": "Engineering"}
]
Каждая строка становится объектом JSON, каждый заголовок столбца — ключом, а весь лист — массивом. Файлы XLS и XLSX следуют одному и тому же шаблону сопоставления.
Метод 1: Экспорт Excel в JSON онлайн
Онлайн-конвертеры Excel в JSON предоставляют самое быстрое решение для разовых преобразований, не требуя установки программного обеспечения или знаний программирования.
Шаги по преобразованию Excel в JSON онлайн
-
Загрузите файл Excel: Выберите файл .xlsx или .xls из локального хранилища. Большинство платформ поддерживают перетаскивание.
-
Настройте параметры: Укажите, включать ли заголовки, выберите конкретные листы или настройте формат вывода.
-
Конвертируйте и скачайте: Сервер обрабатывает ваш файл и генерирует вывод JSON. Получите преобразованный файл или скопируйте результат.
Рекомендуемые онлайн-конвертеры Excel в JSON
Различные инструменты хороши в разных сценариях:
| Инструмент | Лучше всего подходит для | Лимит размера файла | Специальные возможности |
|---|---|---|---|
| TableConvert | Табличные структуры JSON | 10 МБ | Пользовательский формат JSON, вложенные объекты |
| Data Formatter Pro | Быстрое преобразование в браузере | 5 МБ | Преобразование на стороне браузера, загрузка не требуется |
| JSON Editor Online | Визуальное редактирование после преобразования | 5 МБ | Встроенный валидатор и форматер JSON |
Преимущества и ограничения
Преимущества:
- Установка не требуется — доступ из любого браузера
- Быстро для небольших файлов до 5 МБ
- Простота для начинающих благодаря графическим интерфейсам
Ограничения:
- Лимиты размера файла: Большинство бесплатных конвертеров ограничивают загрузку до 5-10 МБ
- Проблемы конфиденциальности: Загрузка бизнес-данных на внешние серверы создает риски соответствия требованиям
- Обработка формул: Онлайн-конвертеры экспортируют результаты формул как статические значения
- Несколько листов: Многие инструменты экспортируют только активный лист или теряют структуру листа
Онлайн-конвертеры хорошо подходят для быстрых, неконфиденциальных преобразований. Для всего, что связано с большими файлами, конфиденциальными данными или сложными рабочими книгами, вам потребуется программное решение.
Метод 2: Экспорт Excel в JSON на Python с помощью Pandas
Pandas — самая популярная библиотека для анализа данных в Python, предлагающая простое преобразование Excel в JSON через свой API DataFrame. Этот метод подходит для специалистов по данным и аналитиков, которые уже используют Pandas для обработки данных.
Установка Pandas и зависимостей
pip install pandas openpyxl
Для устаревших файлов .xls также установите xlrd:
pip install xlrd
Чтение Excel и экспорт JSON
import pandas as pd
# Загрузка файла Excel в DataFrame
df = pd.read_excel("sales_report.xlsx")
# Экспорт DataFrame в JSON
df.to_json(
"sales_report.json",
orient="records",
indent=4
)
print("Данные Excel успешно экспортированы в JSON")
Ниже приведен пример листа Excel и вывода JSON:

Ключевые параметры:
orient="records": Структурирует вывод как массив объектов (наиболее распространенный формат)indent=4: Форматирует JSON с отступом в 4 пробела
Понимание параметров вывода JSON
Pandas предоставляет несколько вариантов ориентации вывода через параметр orient:
orient="records" (Рекомендуется для API):
[
{"ID": 1, "Name": "Alice", "Department": "HR"},
{"ID": 2, "Name": "Bob", "Department": "Engineering"}
]
orient="index":
{
"0": {"ID": 1, "Name": "Alice", "Department": "HR"},
"1": {"ID": 2, "Name": "Bob", "Department": "Engineering"}
}
orient="split":
{
"columns": ["ID", "Name", "Department"],
"index": [0, 1],
"data": [[1, "Alice", "HR"], [2, "Bob", "Engineering"]]
}
Ориентация records является наиболее совместимым форматом для REST API и приложений JavaScript.
Обработка конкретных листов
import pandas as pd
# Чтение конкретного листа по имени
df = pd.read_excel("workbook.xlsx", sheet_name="Q4_Sales")
# Чтение конкретного листа по индексу (начиная с 0)
df = pd.read_excel("workbook.xlsx", sheet_name=0)
df.to_json("q4_sales.json", orient="records", indent=4)
Pandas отлично подходит для анализа данных, когда вам нужно фильтровать, агрегировать или преобразовывать данные перед экспортом. Однако он загружает целые файлы в память и не может сохранять логику формул, что делает его менее подходящим для больших файлов или корпоративных сценариев.
Преобразование Excel в JSON часто является лишь одним из шагов рабочего процесса обработки данных. Если вам нужно импортировать данные JSON обратно в электронные таблицы, ознакомьтесь с нашим руководством по преобразованию JSON в Excel для полного двустороннего обмена данными.
Метод 3: Экспорт Excel в JSON на Python с помощью Spire.XLS
Spire.XLS для Python предоставляет профессиональную библиотеку для обработки Excel, разработанную для сценариев, где Pandas не справляется. Она обрабатывает сложные структуры рабочих книг, сохраняет расчеты формул и эффективно обрабатывает большие файлы, не загружая целые наборы данных в память.
Установка Spire.XLS для Python
pip install Spire.XLS
Экспорт данных Excel в JSON
from spire.xls import Workbook
import json
# Создание экземпляра рабочей книги
workbook = Workbook()
workbook.LoadFromFile("sales_data.xlsx")
# Получение первого листа
sheet = workbook.Worksheets[0]
# Извлечение данных в структурированный формат
data = []
headers = []
# Чтение заголовков из первой строки
for col in range(sheet.AllocatedRange.Columns.Count):
cell = sheet.AllocatedRange.Rows[0].Cells[col]
headers.append(cell.Value)
# Чтение строк данных
for row_idx in range(1, sheet.AllocatedRange.Rows.Count):
row_data = {}
row = sheet.AllocatedRange.Rows[row_idx]
for col_idx in range(len(headers)):
cell = row.Cells[col_idx]
row_data[headers[col_idx]] = cell.Value
data.append(row_data)
# Экспорт в файл JSON
with open("sales_data.json", "w", encoding="utf-8") as f:
json.dump(data, f, indent=4, ensure_ascii=False)
print(f"Экспортировано {len(data)} записей в JSON")
workbook.Dispose()
Результат преобразования показан ниже:

Ключевые моменты
-
Загрузка рабочей книги: Используйте
Workbook.LoadFromFile()для загрузки файла Excel в память. Этот метод поддерживает форматы XLS и XLSX. -
Доступ к листу: Получите конкретный лист с помощью
workbook.Worksheets[index], где индекс 0 относится к первому листу. -
Извлечение заголовков: Переберите первую строку выделенного диапазона (
sheet.AllocatedRange.Rows[0]) для сбора заголовков столбцов, которые будут служить ключами объектов JSON. -
Чтение строк данных: Пройдитесь по оставшимся строкам (начиная с индекса 1) и извлеките значения ячеек. Для каждой строки создайте словарь, сопоставляющий заголовки со значениями ячеек.
-
Экспорт в JSON: Используйте встроенную функцию
json.dump()Python для записи структуры данных в файл JSON с правильным форматированием (indent=4) и поддержкой Unicode (ensure_ascii=False).
JSON — не единственный формат, используемый для обмена данными. Если вам нужен более простой табличный формат для отчетности или интеграции систем, ознакомьтесь с нашим руководством по преобразованию Excel в CSV на Python.
Экспорт нескольких листов в JSON
Одним из ключевых преимуществ Spire.XLS является обработка многолистовых рабочих книг с сохранением структуры:
from spire.xls import Workbook
import json
workbook = Workbook()
workbook.LoadFromFile("quarterly_reports.xlsx")
workbook_data = {}
for sheet_index in range(workbook.Worksheets.Count):
sheet = workbook.Worksheets[sheet_index]
sheet_name = sheet.Name
sheet_data = []
headers = []
last_row = sheet.LastRow
last_col = sheet.LastColumn
if last_row > 0 and last_col > 0:
# Чтение заголовков
for col in range(1, last_col + 1):
cell_value = sheet.Range[1, col].Value
headers.append(cell_value if cell_value else f"Column{col}")
# Чтение строк данных
for row in range(2, last_row + 1):
row_data = {}
has_data = False
for col in range(1, last_col + 1):
cell = sheet.Range[row, col]
value = cell.Value
# Обработка ячеек с формулами - экспорт вычисленных результатов
if cell.HasFormula:
value = cell.FormulaValue
row_data[headers[col - 1]] = value
if value is not None and str(value).strip():
has_data = True
if has_data:
sheet_data.append(row_data)
workbook_data[sheet_name] = sheet_data
print(f"Обработано: {sheet_name} ({len(sheet_data)} строк)")
with open("quarterly_reports.json", "w", encoding="utf-8") as f:
json.dump(workbook_data, f, indent=4, ensure_ascii=False)
print(f"Экспортировано {workbook.Worksheets.Count} листов в JSON")
workbook.Dispose()
Структура вывода:
{
"Q1_Sales": [
{"Product": "Widget A", "Revenue": 15000, "Units": 500},
{"Product": "Widget B", "Revenue": 22000, "Units": 730}
],
"Q2_Sales": [
{"Product": "Widget A", "Revenue": 18000, "Units": 600},
{"Product": "Widget B", "Revenue": 25000, "Units": 830}
]
}
Преимущества использования Spire.XLS
- Сохранение структуры рабочей книги: Сохранение организации листов в выводе JSON
- Правильная обработка формул: Экспорт вычисленных значений из ячеек с формулами
- Эффективная обработка памяти: Обработка больших рабочих книг без загрузки целых файлов в память
- Отсутствие зависимости от Excel: Обработка файлов без необходимости установки Microsoft Excel
- Кроссплатформенность: Работает на Windows, Linux и macOS
Сравнение Pandas и Spire.XLS
| Функция | Pandas | Spire.XLS |
|---|---|---|
| Открытый исходный код | ✓ | ✗ |
| Анализ данных | ✓ | ✓ |
| Результаты формул | Ограничено | ✓ |
| Несколько листов | Базово | ✓ |
| Корпоративная автоматизация | Ограничено | ✓ |
| Эффективность памяти | Умеренно | ✓ |
| Поддержка больших файлов | Ограничено | ✓ |
Для систем, требующих иерархического или основанного на схеме обмена данными, вы также можете узнать, как преобразовать Excel в XML на Python.
Распространенные проблемы при преобразовании Excel в JSON
Несколько листов
Рабочие книги часто содержат несколько связанных листов. Экспорт всех листов как одного плоского массива теряет организационную структуру. Используйте библиотеку, такую как Spire.XLS, чтобы сохранить имена листов в качестве ключей верхнего уровня в выводе JSON.
Ячейки с формулами
Формулы Excel динамически вычисляют значения. При экспорте в JSON вы обычно хотите получить вычисленный результат, а не строку формулы. Spire.XLS предоставляет свойство FormulaValue для экспорта вычисленных значений, в то время как Pandas по умолчанию считывает отображаемые значения.
Форматирование дат
Excel хранит даты как числовые серийные даты. Без явной обработки даты могут экспортироваться как бессмысленные числа, такие как 45662, вместо "2026-05-01". Преобразуйте столбцы дат в строки ISO 8601 для совместимости с JSON.
Пустые ячейки и значения NULL
Пустые ячейки могут быть представлены как null, полностью опущены или экспортированы как пустые строки. Используйте null для отсутствующих значений и пустые строки для явно пустых ячеек, чтобы сохранить намерение данных.
Какой метод выбрать?
| Сценарий | Рекомендуемый метод | Обоснование |
|---|---|---|
| Быстрое разовое преобразование | Онлайн-конвертер | Без настройки, самое быстрое для периодического использования |
| Рабочие процессы анализа данных | Pandas | Интегрируется с конвейерами анализа |
| Сложные рабочие книги с несколькими листами | Spire.XLS | Сохраняет структуру, обрабатывает формулы |
| Большие файлы (>100 МБ) | Spire.XLS | Эффективная обработка памяти |
| Конфиденциальные/секретные данные | Spire.XLS (локально) | Без передачи на внешний сервер |
Часто задаваемые вопросы
Может ли Excel сохраняться напрямую в JSON?
Нет. Диалоговое окно «Сохранить как» в Excel поддерживает форматы XLSX, XLS, CSV, PDF и XML, но не JSON. Вам потребуется онлайн-конвертер, библиотека Python или пользовательский скрипт для экспорта данных Excel в JSON.
Как экспортировать данные Excel в файл JSON?
Выберите инструмент, загрузите файл Excel, извлеките данные листа, преобразуйте строки в объекты JSON с заголовками столбцов в качестве ключей и запишите вывод в файл .json.
С Pandas:
import pandas as pd
df = pd.read_excel("data.xlsx")
df.to_json("data.json", orient="records", indent=4)
Какая лучшая библиотека Python для преобразования Excel в JSON?
- Pandas: Лучше всего подходит для рабочих процессов анализа данных с мощными преобразованиями, но загружает целые файлы в память и не может сохранять формулы.
- Spire.XLS: Лучше всего подходит для корпоративных сценариев с большими файлами, несколькими листами и обработкой формул.
Как экспортировать несколько листов в JSON?
Используйте Spire.XLS для перебора листов и их организации в словаре с именами листов в качестве ключей:
from spire.xls import Workbook
import json
workbook = Workbook()
workbook.LoadFromFile("multi_sheet.xlsx")
result = {}
for sheet in workbook.Worksheets:
sheet_data = [] # Извлечение данных листа
# ... логика извлечения ...
result[sheet.Name] = sheet_data
with open("output.json", "w") as f:
json.dump(result, f, indent=4)
Можно ли сохранить формулы при преобразовании Excel в JSON?
Сами формулы не могут быть сохранены в JSON, поскольку JSON является статическим форматом данных. Однако вы можете экспортировать вычисленные результаты формул. Используйте свойство FormulaValue Spire.XLS для получения вычисленных значений вместо строк формул.
Как обрабатывать большие файлы Excel при экспорте в JSON?
Избегайте Pandas для больших файлов — он загружает все в память. Используйте Spire.XLS для эффективного доступа к ячейкам с низким потреблением памяти. Для очень больших наборов данных рассмотрите формат JSON с разделителями строк (JSONL), где каждая строка является отдельным объектом JSON, что позволяет обрабатывать потоки данных.
Заключение
Экспорт Excel в JSON устраняет разрыв между данными электронных таблиц и современными приложениями. Для быстрых преобразований онлайн-инструменты выполняют работу без какой-либо настройки. Когда вам нужны возможности анализа данных, Pandas предоставляет мощные преобразования. Для корпоративных сценариев с большими файлами, несколькими листами или обработкой формул Spire.XLS обеспечивает необходимый контроль и точность. Выбирайте в зависимости от размера файла, сложности и требований рабочего процесса.
Дополнительное чтение: