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

时间:2017-05-27 01:54:05

标签: javascript android excel html5 read-write

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

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

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

enter image description here

2 个答案:

答案 0 :(得分:0)

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

我认为最好清除网络应用程序的工作原理,听起来你对它们的工作方式有些困惑(或者我是你的问题!)。

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

客户端从服务器请求资源,服务器响应。例如,客户端请求与example.com关联的资源,服务器正在侦听此请求并通过返回一个文本字符串来实现它,其中一些元文件称其为html。客户端(比如它的浏览器)理解这是html并开始解析并呈现它。如果它命中<link><script>(或其他一些东西),它就知道要从服务器请求更多资源。

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

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

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

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

存储 - &gt;连接器 - &gt;服务 - &gt;客户端

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

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

有许多工具可以从.xls转换为json,然后JS可以解析和使用(在客户端或服务器上)。我曾经使用过几次,但我现在不记得是哪一个,快速npm search会引发一些点击。

答案 1 :(得分:0)

您最好的选择是根本不使用Google云端硬盘。如果你有兴趣做你所描述的事情,我强烈建议使用PHP和MySQL(一种流行的组合)或Google Cloud Platform的App Engine(它们提供了很多帮助,甚至允许你轻松构建一个您可以使用自己的Google帐户从Android设备登录的应用。如果你更喜欢自己动手,我可能会推荐Spring Boot(These教程看起来不错)

在与Google云端硬盘集成方面,从技术上讲可行,但是如果从头开始编写自己的系统并且可能导出到Excel文件会更好。 (有关从Java导出到Excel的教程,请参阅this页面)

您对问题的最终解决方案有几个问题:

  1. 安全(你不希望学生闯入它,就像我可能会做的那样)
  2. 辅助功能(您希望获取手机和计算机上的信息)
  3. 如果我在你的位置,我可能会写一个Spring Boot应用程序(它可以容纳它自己的数据库,网站和用于计算机/手机通信的API)和一个与之对话的Android应用程序

    此外,了解您过去使用的编程语言和/或库/框架将有助于为您的情况提供更好的建议。你过去用过什么?

    如果您需要帮助或有疑问,请发送消息或评论。