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

use*_*803 12 javascript excel html5 android read-write

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

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

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

在此输入图像描述

Mat*_*les 1

如果 Excel 无法在 Android 上为您执行此操作,那么我强烈建议您查看 Google 表格。如果您喜欢这类事情,那么自己为此创建一个应用程序将是一个有趣的项目,但 Google Sheets 听起来似乎可以完成这项工作,并且您可以在几分钟内启动并运行。

\n\n
\n\n

解决这个问题后,我认为最好弄清楚网络应用程序的工作原理,听起来你对它们的工作原理有些困惑(或者我来自你的问题!)。

\n\n

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

\n\n

客户端向服务器请求资源,服务器响应。例如,客户端请求与 关联的资源example.com,服务器正在侦听此请求并通过返回一个文本字符串(其中包含一些表示其 html 的元数据)来完成该请求。客户端(假设它是浏览器)理解这是 html 并开始解析和渲染它。如果它命中<link><script>(或其他一些东西),它知道去向服务器请求更多资源。

\n\n

客户端与服务器完全分离,它对文件系统的访问受到限制,并且必须通过要求服务器执行任务来执行任务。它只能要求,不能强制。

\n\n

通常有第三部分是某种类型的存储,这可能是某个地方的文件系统或数据库。客户端也与之分离,服务器(或其他服务)拥有并管理存储。对于您的情况,Google Drive 可以充当您的存储空间。

\n\n

网络客户端无法直接访问您的 Google 云端硬盘,尽管如果其内容是公开的,则可能有一个方案可供您获取资源(我不知道 Google 云端硬盘如何工作,但这很有可能)。但我不确定它是否会让您写入驱动器,除非获得额外的权限(通过身份验证授予)。许多流行的框架和库将允许您与 Google Drive 交互并处理身份验证握手等,它们通常称为驱动程序或连接器。

\n\n

基本上,您可能需要几个部件:

\n\n

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

\n\n

您可以将连接器和服务放在一起,并且可以直接从客户端进行连接,这将为您省去创建、托管和运行服务的麻烦。

\n\n

最后一个难题是您必须将 .xls 数据转换为客户端上 JS 可以使用的数据(同样,通常有多种处理方式,您可能决定在服务器上呈现页面)。

\n\n

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

\n