ExcelToJson
- Утилита считывает поданный на вход xlsx-файл, путь к которому указывается в виде значения параметра при запуске утилиты.
- Последовательно считываются строки и столбцы, создаётся объект с заданным набором полей и заносятся в список.
- Список маршаллизуется и сохраняется в файл формата json. Файл имеет то же название, что и xlsx-документ и помещается в тот же каталог.
Примечания
Формат xlsx-документа
Подаваемый на вход xlsx-документ состоит из одного листа (sheet) и имеет заданный набор столбцов, первая строка это заголовок столбцов, все последующие строки - значения столбцов. Значения в первом столбце заданы в числовом формате типа integer, значения остальных столбцов заданы в строковом формате.
Пример:
| id | field | value | value_map |
|---|---|---|---|
| int | string | string | string |
Формат json
{
"id": 1,
"field": "string",
"value": "string",
"value_map": "string"
}
Расширенная опция
В дополнении к основной функциональности так же есть возможность прямой записи содержимого xlsx-файл в виде структуры в mongo db.
Структура записи mongo db имеет вид
{
"id": 1,
"field": "string",
"value": "string",
"value_map": "string"
}
Инструкция по использованию
Для запуска консольной программы exceltojson.jar необходимо наличие jdk не ниже версии 8
Программа работает в двух режимах, экспорт в json (по умолчанию) и экспорт в mongo db (нужно задать ключ при запуске программы)
Общее описание запуска программы (экспорт в json)
java -jar exceltojson.jar <полный_путь_к_файлу_формата_xlsx>
на выходе будет файл формата json, имеющий то же название что и входящий файл и будет располагаться в том же каталоге где и входящий файл
Общее описание запуска программы (экспорт в mongo db)
java -jar exceltojson.jar --mongo=mongodb://<host>:<port>/<database>/<collection_name> <полный_путь_к_файлу_формата_xlsx>
Примеры запуска
Экспорт в json
java -jar exceltojson.jar c:\myfolder\myfile.xlsx
На выходе получим json c:\myfolder\myfile.json
Экспорт в mongo db
java -jar exceltojson.jar --mongo=mongodb://mongo-01.testbanki.ru:27017/dict/dictMap c:\myfolder\myfile.xlsx
Данные из myfile.xlsx экспортируются в mongo db в указанную коллекцию dictMap базы данных dict