У меня есть таблица Excel с поддержкой макросов. Когда я нажимаю кнопку, он выполняет макрос, который использует cURL для вызова сценария PHP на веб-сервере, который выполняет некоторые запросы к базе данных Oracle. Сценарий PHP форматирует данные в строку JSON, которую макрос Excel получает в ответе cURL. Затем он использует эти данные для обновления рабочего листа.
Причина, по которой я не использую ODBC из Excel, заключается в том, что я не могу гарантировать, что на компьютере пользователя будет установлен Oracle ODBC. Тем не менее, веб-сервер, очевидно, делает.
Вот проблема. Некоторые данные из базы данных должны быть изменены на основе определенных значений других столбцов, прежде чем они будут обновлены на листе Excel. Я могу сделать большую часть этого в самом операторе SQL, используя операторы CASE. Тем не менее, я мог бы просто получить прямые данные из базы данных и внести изменения в PHP. Кроме того, я мог бы просто вернуть прямые данные из PHP в Excel и внести изменения в Excel VBA.
Я только сделаю большую часть этого массажа для текущей версии данных. Заказчик сказал мне, что будущие версии данных будут более чистыми и не потребуют этих хакерских изменений. К сожалению, приложению придется продолжать работать с этой текущей версией данных, поэтому хакерский код всегда будет там.
Задача ещё не решена.
Других решений пока нет …