Лучший способ для локального HTML-файла связываться с (read / write) локальным файлом Excel .xlsm Excel

Я учитель. Моя классная книга представляет собой файл .xlsm, расположенный в папке Google Диска. Я создаю веб-приложение, также находящееся в папке «Дисковод», в котором указаны имена студентов, размещенные в соответствии с таблицей сидения. Я хочу запустить приложение на своем телефоне Android и щелкнуть имя студента, чтобы добавить знак участия в классную книгу. Приложение также должно отображать существующие баллы учащихся (из книги оценки). Каков наилучший способ сделать что-то подобное?

* Сначала я попытался сделать это, используя другой файл .xlsm, но когда понял, что макросы не запускаются в версии Excel для Android, я переключился на приложение на основе HTML. Это было правильное решение?

Вот пример файла .xlsm. В этом случае приложение проверит ячейку A2, чтобы убедиться, что это правильный ученик, а затем оба читают и записывают в ячейку B2.

Введите описание изображения здесь

Solutions Collecting From Web of "Лучший способ для локального HTML-файла связываться с (read / write) локальным файлом Excel .xlsm Excel"

Если Excel не делает это для вас на Android, я настоятельно рекомендую заглянуть в Google Таблицы. Создание приложения для этого было бы забавным проектом, если бы вам понравилось, но Google Таблицы звучат так, будто он может выполнить эту работу, и вы можете работать и работать через несколько минут.


Получив это, я думаю, было бы лучше разобраться, как работают веб-приложения, похоже, что у вас есть путаница в том, как они работают (или я от вашего вопроса!).

Веб-приложение обычно состоит из двух частей: клиента и сервера.

Клиент запрашивает ресурсы с сервера, и сервер отвечает. Например, клиент запрашивает ресурс, связанный с example.com , сервер прослушивает этот запрос и выполняет его, возвращая строку текста с некоторым мета-выражением html. Клиент (скажем, его браузер) понимает, что это html и начинает анализировать и отображать его. Если он попадает в <link> или <script> (или какой-либо другой материал), он знает, как идти и запрашивать больше ресурсов с сервера.

Клиент полностью отключен от сервера, имеет ограниченный доступ к файловой системе и должен выполнять задачи, запрашивая сервер для их выполнения. Он может только спрашивать, а не принуждать.

Часто есть 3-й кусок, который является каким-то хранилищем, это может быть файловая система где-то или база данных. Клиент также отделяется от этого, и сервер (или другой сервис) владеет и управляет хранилищем. В вашем случае Google Диск может действовать как ваше хранилище.

Веб-клиент не имеет прямого доступа к вашему Google Диску, хотя, если его содержимое является общедоступным, вероятно, у вас есть схема для получения ресурса (я не знаю, как работает Google Диск, но это довольно вероятно). Я не уверен, что он позволит вам писать на диск, но не без дополнительных разрешений (предоставленных через аутентификацию). Многие популярные фреймворки и библиотеки позволят вам взаимодействовать с Google Диском и обрабатывать рукопожатие аутентификации и т. Д. И т. Д., Их часто называют драйвером или коннектором.

В основном, вам, вероятно, потребуется несколько частей:

Хранение -> Коннектор -> Сервис -> Клиент

Вы можете уйти вместе с коннектором и сервисом, и вы сможете уйти от прямого подключения к клиенту, что избавит вас от необходимости создавать, размещать и запускать службу.

Последний фрагмент головоломки – это преобразование, которое вы должны сделать из данных .xls во что-то, с чем может работать JS на клиенте (опять же, часто есть несколько способов сделать что-то, вы можете решить сделать свою страницу на сервере).

Есть много инструментов, которые могут конвертировать из .xls в json, которые JS может затем анализировать и использовать (на клиенте или сервере). Я использовал один раз пару раз, но я не могу вспомнить, какой из них сейчас, быстрый поиск npm вызывает несколько хитов.

Ваш лучший вариант – вообще не использовать Google Диск. Если вы заинтересованы в том, чтобы делать что-то вроде описанного, я настоятельно рекомендую использовать PHP или MySQL (популярную комбинацию) или Google App Engine от Google Cloud Platform (они предоставляют большую помощь, даже позволяя вам легко создавать приложение, которое вы можете Войдите с вашего устройства на Android с учетной записью Google). Если вы больше настроены на Do-It-Yourself, я бы, вероятно, рекомендовал Spring Boot ( эти учебники выглядят довольно хорошо)

Когда дело доходит до интеграции с Google Диском, это технически возможно сделать, но настолько сложно, что вам будет намного лучше писать свою собственную систему с нуля и, возможно, экспортировать в файл Excel. (См. Эту страницу для учебника по экспорту в Excel с Java)

У вас есть несколько проблем с окончательным решением вашей проблемы:

  1. Безопасность (вы не хотите, чтобы учащиеся ворвались в нее, как я бы, наверное, сделал бы)
  2. Доступность (вы хотите получить информацию на своем телефоне и на своем компьютере)

Если бы я был на вашем месте, я бы, вероятно, написал приложение Spring Boot (в котором можно разместить собственную базу данных, веб-сайт и API для связи с компьютером / телефоном) и приложение для Android, которое говорит с ним.

Кроме того, было бы полезно узнать, какие языки программирования и / или библиотеки / рамки, которые вы использовали в прошлом, чтобы получить лучшие рекомендации для вашей ситуации. Что вы использовали в прошлом?

Если вам нужна помощь или есть вопросы, просто сообщение или комментарий.