本地HTML文件与本地.xlsm Excel文件通信(读/写)的最佳方式

我是一名教师。 我的成绩簿是一个.xlsm文件,位于我的Google云端硬盘文件夹中。 我正在build立一个networking应用程序,也在我的云端硬盘文件夹中,显示根据座位排列的学生姓名。 我想在我的Android手机上运行该应用程序,然后单击学生的姓名以将参与标记添加到成绩簿中。 该应用程序还应显示学生现有的参与分数(从成绩簿)。 完成这样的事情最好的方法是什么?

*我最初尝试使用另一个.xlsm文件来做这件事,但是当我意识到macros不能在Android版本的Excel上运行时,我切换到一个基于HTML的应用程序。 这是正确的决定?

这是一个示例.xlsm文件。 在这种情况下,应用程序将检查单元格A2,以确保它是正确的学生,然后读取和写入单元格B2。

在这里输入图像说明

如果Excel不是在Android上为你做的,那么我强烈build议查找Google表格。 为自己创build一个应用程序将是一个有趣的项目, 如果你喜欢这样的事情,但Google Sheets听起来可能会做这个工作,你可以在几分钟内启动和运行。


这样做后,我认为最好是清理Web应用程序的工作方式,这听起来像你有一些困惑,他们如何工作(或我从你的问题!)。

一个Web应用程序通常由两部分组成,一个客户端和一个服务器。

客户端从服务器请求资源,服务器响应。 例如,客户端请求与example.com相关联的资源,服务器正在监听这个请求,并通过返回一些文本string来表示它的html。 客户端(可以说它是一个浏览器)了解这是HTML,并开始parsing和呈现它。 如果它碰到<link>或者<script> (或者其他一些东西),它知道要去从服务器请求更多的资源。

客户端完全脱离服务器,访问文件系统的权限有限,必须通过请求服务器执行任务来执行任务。 它只能问,不执行。

通常有第三块是某种存储,这可能是某个文件系统或某个数据库。 客户端也与此分离,服务器(或其他服务)拥有和pipe理存储。 在您的情况下,Google云端硬盘可以充当您的存储。

networking客户端无法直接访问您的Google云端硬盘,但如果其内容是公开的,则可能会有计划让您获得资源(我不知道Google云端硬盘是如何工作的,但这很可能)。 我不确定它会让你写入驱动器,而不是没有额外的权限(通过身份validation授予)获得。 许多stream行的框架和库将允许您与Google Drive进行交互,并处理auth握手等,它们通常被称为驱动程序或连接器。

基本上,你可能需要几个部分:

存储 – >连接器 – >服务 – >客户端

你可以把连接器和服务放在一起,你可以直接从客户端连接,这将节省创build,托pipe和运行服务的麻烦。

最后一块难题是你必须从.xls数据转换成客户端上可以使用的JS(再次,通常有多种方式来做事情,你可能决定在服务器上呈现你的页面)。

有很多工具可以将.xls转换为json,然后JS可以parsing和使用(在客户端或服务器上)。 我已经使用了几次,但我不记得现在哪一个,一个快速的npmsearch抛出了一些命中。

您最好的select是不要使用Google云端硬盘。 如果您有兴趣进行类似于您所描述的操作,我强烈build议您使用PHP和MySQL(一种stream行组合)或Google云端平台的App Engine(它们提供了很多帮助,甚至可以让您轻松构build一个可以用您的Google帐户从您的Android设备login)。 如果你更喜欢自己动手的话,我可能会推荐Spring Boot( 这些教程看起来不错)

说到与Google云端硬盘的整合,在技术上是可行的,但是如此困难,以至于从头开始编写自己的系统,或者导出为Excel文件,会更好。 (请参阅此页以获取从Java导出到Excel的教程)

您对问题的最终解决scheme有几点担忧:

  1. 安全(你不希望学生闯入,就像我可能会做的那样)
  2. 可访问性(您想获取手机和计算机上的信息)

如果我在你的位置,我可能会写一个Spring Boot应用程序(它可以容纳它自己的数据库,网站和计算机/电话API通信)和一个Android应用程序谈话。

此外,了解过去使用过哪些编程语言和/或库/框架将会有所帮助,以便为您的情况提供更好的build议。 你以前用过什么?

如果您需要帮助或有任何疑问,只需留言或留言。