1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/uzt-excel2cfg

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 5.9 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 30.11.2024 11:47 ad7a66b

Введение

Инструменты

Среда

Python 3

pip install xlrd==1.2.0

Использование инструментов

Конфигурация таблицы Excel

Конфигурация таблицы Excel в основном состоит из двух страниц: tablelist и другие элементы.

Страница tablelist

Страница tablelist используется для экспорта других элементов. Она включает в себя следующие параметры:

  • целевой элемент;
  • описание;
  • имя файла экспорта;
  • поля экспорта;
  • тип экспорта.

Существует три типа экспорта: key:array, key:map и key:value. Это наиболее часто используемые типы, которые я определил самостоятельно.

Каждый элемент представляет собой конфигурацию операции экспорта. Например, на рисунке выше каждый элемент страницы tablelist имеет две конфигурации экспорта, соответствующие использованию на клиенте и сервере. Их различие заключается в имени файла экспорта и полях экспорта.

Всего страница tablelist поддерживает три типа экспорта:

  • key:array — структура массива, которая содержит несколько столбцов. Каждый столбец имеет одинаковые свойства, а все столбцы образуют объект словаря, который является записью массива. Пример конфигурации показан ниже:

    [
        { "ID":100, "Ratio":0.6, "Reward":[2,3,4], "TaxRatio":{"Ratio":1, "Base":10000} },
        { "ID":101, "Ratio":0.7, "Reward":[3,5,7], "TaxRatio":{"Ratio":1, "Base":10000} },
        { "ID":102, "Ratio":0.5, "Reward":[10,15,20], "TaxRatio":{"Ratio":1, "Base":1000} }
    ]
  • key:map — это структура словаря, содержащая несколько столбцов с одинаковыми свойствами. Первый столбец служит ключом словаря и может быть только строкового типа. Пример конфигурации представлен ниже:

    {
        "test001": { "Key":"test001", "Name":"zhangsan", "Age":18 },
        "test002": { "Key":"test002", "Name":"lisi", "Age":19 }
    }
  • key:value — это специальная структура словаря, состоящая из двух столбцов: первый столбец является ключом и должен быть строкового типа, второй столбец может иметь любой тип. Пример конфигурации приведён ниже:

    {
        "KEY_INT":100,
        "KEY_FLOAT":0.23,
        "KEY_BOOL":true,
        "KEY_OBJECT_ARRAY":[10,20],
        "KEY_OBJECT_DICT":{"Ratio":1, "Base":10000},
        "KEY_STRING":"string test",
        "KEY_STRING_INT":"100",
        "KEY_STRING_FLOAT":"0.23",
        "KEY_STRING_BOOL":"true",
        "KEY_STRING_OBJECT_ARRAY":"[10,20]"
    }

Другие элементы

Первый ряд этой страницы — имена столбцов, а второй ряд — типы столбцов. Всего существует шесть типов: INT, FLOAT, BOOL, STRING, OBJECT и ANY. Первые четыре типа легко понять, OBJECT — это тип JSON, который должен быть допустимым JSON. ANY — это любой тип, который можно использовать только для типа key:value, и он может быть любым из первых пяти типов.

Экспорт JSON

Инструмент экспорта JSON разработан на Python. Скрипт называется excel2cfg.py, и его можно напрямую использовать для экспорта. Более удобный способ — использовать упакованный двоичный файл excel2cfg.exe для экспорта.

Чтобы упростить процесс преобразования, можно использовать пакетную обработку Windows. Для этого создайте новый файл convert.bat со следующим содержимым:

@echo off

:: delete all *.json
echo del all *.json
del /s *.json

:: covert config
excel2cfg.exe config.xlsx

pause

После этого дважды щёлкните по файлу convert.bat, чтобы автоматически выполнить преобразование. Также можно добавить в пакетный файл команды для копирования файлов JSON на клиентский и серверный каталоги, отправки их в Git или SVN и т. д.

Модификация кода

Если необходимо изменить исходный код, то нужно установить Python 3.

Для упаковки скрипта Python в исполняемый файл можно использовать pyinstaller. Сначала установите pyinstaller с помощью pip, а затем используйте команду pyinstaller для упаковки.

pyinstaller -F excel2cfg.py

Это создаст исполняемый файл excel2cfg.exe в каталоге dist.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/uzt-excel2cfg.git
git@api.gitlife.ru:oschina-mirror/uzt-excel2cfg.git
oschina-mirror
uzt-excel2cfg
uzt-excel2cfg
master