Der beste Weg für lokale HTML-Dateien, mit lokalen .xlsm Excel-Dateien zu kommunizieren (lesen / schreiben)

9

Ich bin ein Lehrer. Mein Notenbuch ist eine .xlsm-Datei, die sich in meinem Google Drive-Ordner befindet. Ich baue eine Web-App, ebenfalls in meinem Drive-Ordner, die die Namen der Schüler zeigt, geordnet nach der Sitzordnung. Ich möchte die App auf meinem Android-Telefon ausführen und auf den Namen eines Schülers klicken, um dem Notenbuch eine Teilnahmemarkierung hinzuzufügen. Die App sollte auch die vorhandenen Teilnahmewerte der Schüler (aus dem Notenbuch) anzeigen. Was ist der beste Weg, um so etwas zu erreichen?

* Ich habe anfangs versucht, dies mit einer anderen .xlsm-Datei zu tun, aber als ich merkte, dass Makros nicht auf der Android-Version von Excel laufen, wechselte ich zu einer HTML-basierten App. War das die richtige Entscheidung?

Hier ist eine Beispiel-XLSM-Datei. In diesem Fall würde die App Zelle A2 überprüfen, um sicherzustellen, dass es der richtige Schüler ist, und dann sowohl in Zelle B2 lesen als auch schreiben.

    
user3925803 27.05.2017, 01:54
quelle

2 Antworten

0

Wenn Excel dies nicht für Sie auf Android tut, würde ich Ihnen dringend empfehlen, sich in Google Tabellen umzusehen. Eine App selbst zu erstellen wäre ein lustiges Projekt, wenn Ihnen so etwas gefällt, aber Google Tabellen hört sich so an, als könnte es den Job erledigen und Sie können in wenigen Minuten einsatzbereit sein.

Wenn ich das aus dem Weg geräumt habe, denke ich, es wäre das Beste, um zu klären, wie Web-Apps funktionieren, klingt es, als hätten Sie etwas Verwirrung darüber, wie sie funktionieren (oder ich komme von Ihrer Frage!).

Eine Web-App besteht normalerweise aus zwei Teilen, einem Client und einem Server.

Der Client fordert Ressourcen vom Server an und der Server antwortet. Der Client fordert beispielsweise die mit example.com verknüpfte Ressource an, der Server wartet auf diese Anfrage und erfüllt sie, indem er eine Textzeichenfolge mit einem Meta zurückgibt, in dem der HTML-Code angegeben wird. Der Client (sagen wir es einen Browser) versteht, dass dies HTML ist und beginnt zu analysieren und zu rendern. Wenn es <link> oder <script> (oder etwas anderes) erreicht, kann es weitere Ressourcen von einem Server anfordern.

Der Client ist vollständig vom Server getrennt, er hat nur begrenzten Zugriff auf das Dateisystem und muss Aufgaben ausführen, indem er den Server dazu auffordert. Es kann nur fragen, nicht erzwingen.

Oft gibt es ein drittes Stück, das eine Art von Speicher ist, das könnte irgendwo ein Dateisystem oder eine Datenbank sein. Der Client ist auch davon getrennt und der Server (oder ein anderer Dienst) besitzt und verwaltet den Speicher. In Ihrem Fall kann Google Drive als Ihr Speicher fungieren.

Ein Webclient hat keinen direkten Zugriff auf Google Drive. Wenn der Inhalt öffentlich ist, gibt es wahrscheinlich ein Schema für Sie, um eine Ressource zu erhalten (ich weiß nicht, wie Google Drive funktioniert, aber das ist ziemlich wahrscheinlich). Ich bin mir nicht sicher, ob Sie damit auf das Laufwerk schreiben können, ohne dass zusätzliche Berechtigungen (die durch Authentifizierung gewährt werden) erworben werden. Viele beliebte Frameworks und Bibliotheken ermöglichen es Ihnen, mit Google Drive zu interagieren und den Auth-Handshake usw. zu handhaben. Sie werden oft als Treiber oder Connector bezeichnet.

Grundsätzlich benötigen Sie wahrscheinlich ein paar Teile:

Speicherung - & gt; Verbinder - & gt; Service - & gt; Client

Sie können Connector und Service zusammenstellen, und Sie können direkt mit dem Client verbunden werden, was Ihnen die Mühe ersparen würde, einen Service zu erstellen, zu hosten und auszuführen .

Der letzte Teil des Puzzles ist die Konvertierung, die Sie aus den .xls-Daten in etwas machen müssen, mit dem JS auf dem Client arbeiten kann (wieder gibt es oft mehrere Möglichkeiten, Dinge zu tun Server).

Es gibt viele Tools, die von .xls nach json konvertieren können, was JS dann parsen und verwenden kann (auf Client oder Server). Ich habe ein paar Male benutzt, aber ich kann mich nicht erinnern, welches gerade eine schnelle npm Suche wirft eine Reihe von Treffern.

    
Matt Styles 03.06.2017 06:07
quelle
0

Ihre beste Option ist, Google Drive überhaupt nicht zu verwenden. Wenn Sie daran interessiert sind, etwas zu tun, was Sie beschrieben haben, würde ich Ihnen dringend empfehlen, entweder PHP und MySQL (eine beliebte Kombination) oder die Google App Engine der Google Cloud Platform zu verwenden (sie bieten eine große Hilfe und können sogar problemlos eine App erstellen) Melden Sie sich mit Ihrem Google-Konto von Ihrem Android-Gerät aus an. Wenn Sie mehr Lust auf Do-It-Yourself haben, würde ich Ihnen Spring Boot ( empfehlen Diese Tutorials sehen ziemlich gut aus

Wenn es um die Integration mit Google Drive geht, ist dies technisch möglich, aber so schwierig, dass Sie Ihr eigenes System von Grund auf neu schreiben und vielleicht in eine Excel-Datei exportieren könnten. (Siehe diese Seite für ein Tutorial zum Exportieren nach Excel von Java)

Sie haben mehrere Probleme mit der endgültigen Lösung für Ihr Problem:

  1. Sicherheit (Du willst nicht, dass die Schüler darin einbrechen, wie ich es wahrscheinlich getan hätte)
  2. Zugänglichkeit (Sie möchten die Informationen auf Ihrem Telefon und Ihrem Computer abrufen)

Wenn ich in Ihrer Position wäre, würde ich wahrscheinlich eine Spring-Boot-Anwendung schreiben (die eine eigene Datenbank, Website und API für einen Computer / Telefon zur Kommunikation enthalten kann) und eine Android-Anwendung, die mit ihr kommuniziert.

>

Außerdem wäre es hilfreich zu wissen, welche Programmiersprachen und / oder Bibliotheken / Frameworks Sie in der Vergangenheit verwendet haben, um bessere Empfehlungen für Ihre Situation zu geben. Was hast du in der Vergangenheit benutzt?

Wenn Sie Hilfe benötigen oder Fragen haben, einfach eine Nachricht oder einen Kommentar.

    
KG6ZVP 07.06.2017 10:15
quelle