990
12.86
14.14
за сайт
- Проверено Modstore
- Бесплатные будущие обновления
- Работа на тестовом и публичном домене
- 12 месяцев тех. поддержки
По работе приходиться с Excel подключаться к сайту на MODX и выгружать с него или загружать в него данные. Постепенно наработался лучший путь. В excelConvertRule редактируются правила конвертации колонки excel в колонку базы MODX. В модуле vba modx_main подготовлены функции LoadToBase для загрузки с excel в MODX и LoadToExcel обратно. В файле core/components/excelconvertrule/users_editor.xlsm, для примера, сделан редактор пользователей MODX. Используя этот пакет можно быстро сформировать нужную выгрузку(загрузку) из любых таблиц MODX.
# Использование
В админке MODX зайти в приложение excelConvertRule и настроить правила конвертации.

Для доступа к приложению пользователю назначить политику excelConvertRuleEdit. И нужен getTables. Приложение на нем сделано.
В приложении создаем имя правил конвертации:

Параметры pdoTools задают данные которые выгружаются в excel. Их можно оставить пустымыми и задавать из excel. loadModel — загружают модели базы. Обязательно при загрузке в базу, если модель не стандартная для MODX. class — в какую таблицу базы загружаются данные.
В правилах конвертации задется Тип правила, Поле базы, Колонка excel, Подпись поля, Параметры.

Типы правил:
В файле core/components/excelconvertrule/users_editor.xlsm, для примера, сделан редактор пользователей MODX.

В строке 15 страна изменена с США на Россия и эта строка подсвечивается. При нажатии кнопки «Отправить изменения в базу» страна у пользователя перезапишется.
Для использования в редакторе Visual Basic открыть модуль vba modx_main задать адрес сайта, логин и пароль пользователя MODX с разрешением use_excelconvertrule (политика excelConvertRule).


ConvertRuleName — имя правила конвертации.
SheetName — лист excel на который загружать данные.
startRow — начальная строка.
endRow — случайно затесалась, но уже удалить сложно.
myProtectSheet — пароль защиты листа.
pdoTools — параметры pdoTools для выгрузки из базы. (Кому попало разрешение use_excelconvertrule не давать!).
ConvertRuleName — имя правила конвертации.
SheetName — лист excel с которого выгружать данные.
startRow — начальная строка.
endRow — конечная строка.
Если не задано startCol, то в поле D1 листа имя колонки в которой проверяется на не пустое значение!!!
иначе:
startCol — начальная колонка
endCol — конечная
testCol — имя колонки в которой проверяется на не пустое значение.
Так же можно использовать getRangeToJson_All, getRangeToJson_OnlyEdited и postJsonModx
action: getConvertRule, LoadToExcel, LoadToBase.
Обьект data преобразует в json строку.
функция возращает ответ MODX.
Из админки в приложении excelConvertRule или в ecrUpLoad можно также напрямую выгрузить в excel таблицу с заданным правилом конвертации (нужно pdoTools и соответствие полей базы клонкам excel).
# Использование
В админке MODX зайти в приложение excelConvertRule и настроить правила конвертации.

Для доступа к приложению пользователю назначить политику excelConvertRuleEdit. И нужен getTables. Приложение на нем сделано.
В приложении создаем имя правил конвертации:

Параметры pdoTools задают данные которые выгружаются в excel. Их можно оставить пустымыми и задавать из excel. loadModel — загружают модели базы. Обязательно при загрузке в базу, если модель не стандартная для MODX. class — в какую таблицу базы загружаются данные.
В правилах конвертации задется Тип правила, Поле базы, Колонка excel, Подпись поля, Параметры.

Типы правил:
- text — преобразует колонку excel в поле базы и обратно как есть.
- detType- устарело но мне пока на рабочем сайте нужно
- date- преобразует колонку excel вида 05.10.2020 в поле базы 2020-10-05 и обратно.
- datetime — преобразует колонки excel в поле базы и обратно как есть., например Колонка excel C,D поле базы data_otgruzki. В C 05.10.2020 в D 10:00 преобразуется в 2020-10-05 10:00
- manager — преобразует колонку excel с именем пользователя (fullname) в поле базы id юзера и обратно.
- beznal — устарело.
- boolean — Использую сейчас text_to_other_text .
- text_to_other_text — преобразует колонку excel в поле базы и обратно согластно Правилам заданным в Параметрах правила. Например поле gender Параметры
{ "1": "Мужской", "2": "Женский" }
В файле core/components/excelconvertrule/users_editor.xlsm, для примера, сделан редактор пользователей MODX.

В строке 15 страна изменена с США на Россия и эта строка подсвечивается. При нажатии кнопки «Отправить изменения в базу» страна у пользователя перезапишется.
Для использования в редакторе Visual Basic открыть модуль vba modx_main задать адрес сайта, логин и пароль пользователя MODX с разрешением use_excelconvertrule (политика excelConvertRule).


Function LoadToExcel(ConvertRuleName As String, SheetName As String, Optional startRow As Long = 5, _
Optional endRow As Long = 3000, Optional myProtectSheet As String = "", _
Optional pdoTools As Object) As BooleanLoadToExcel — имеет параметры:ConvertRuleName — имя правила конвертации.
SheetName — лист excel на который загружать данные.
startRow — начальная строка.
endRow — случайно затесалась, но уже удалить сложно.
myProtectSheet — пароль защиты листа.
pdoTools — параметры pdoTools для выгрузки из базы. (Кому попало разрешение use_excelconvertrule не давать!).
Function LoadToBase(ConvertRuleName As String, SheetName As String, Optional startRow As Long = 6, _
Optional endRow As Long = 3000, _
Optional startCol As String = "", Optional endCol As String = "", Optional testCol As String = "") As BooleanLoadToBase — имеет параметры:ConvertRuleName — имя правила конвертации.
SheetName — лист excel с которого выгружать данные.
startRow — начальная строка.
endRow — конечная строка.
Если не задано startCol, то в поле D1 листа имя колонки в которой проверяется на не пустое значение!!!
иначе:
startCol — начальная колонка
endCol — конечная
testCol — имя колонки в которой проверяется на не пустое значение.
Так же можно использовать getRangeToJson_All, getRangeToJson_OnlyEdited и postJsonModx
Function postJsonModx(action As String, Optional data As Variant = Nothing, Optional ShowResponse As Boolean = False) As ObjectФункция делает запрос на assets/components/excelconvertrule/action.php с одним из 3action: getConvertRule, LoadToExcel, LoadToBase.
Обьект data преобразует в json строку.
функция возращает ответ MODX.
Из админки в приложении excelConvertRule или в ecrUpLoad можно также напрямую выгрузить в excel таблицу с заданным правилом конвертации (нужно pdoTools и соответствие полей базы клонкам excel).
1.0.4-beta
- Добавлена функция вычисления excel формулы.
1.0.3-beta
- Добавлены связи в модели.
- Добавлено копирование правил (Работает с getTables 1.5.8-alpha.).
1.0.2-beta
- Исправлено конвертация со сниппетом.
1.0.1-beta
- Исправлено демоправило.



Последние обсуждения в сообществе MODX.pro