我正在尝试编写一个小型Web工具,它接受一个Excel文件,解析内容,然后将数据与另一个数据集进行比较。这可以在JavaScript中轻松完成吗?有没有一个JavaScript库可以做到这一点?
答案 0 :(得分:6)
首先如何将文件加载到JavaScript中?
此外,Excel是一种专有格式,并且复杂到足以使多年开发的服务器端库(例如Apache POI)尚未成功地对这些Microsoft格式进行100%反向工程。
所以我认为答案是你不能。
更新:这是纯JavaScript。
更新2 :现在可以在JavaScript中加载文件:https://developer.mozilla.org/en-US/docs/DOM/FileReader
答案 1 :(得分:2)
在过去四年中,取得了许多进步。主要浏览器供应商已经接受了HTML5 File API,并且性能增强实际上使得在浏览器中解析excel文件(xls和xlsx)成为可能。
我在这个空间的参赛作品:
两者都是纯JS解析器
答案 2 :(得分:-1)
要在js中执行所有操作,您必须使用ActiveX,也可能使用Office Web组件。只是一个建议,但你可能不想走这条路;这将是效率低下的IE / Win。使用基于服务器的解决方案会更好。
答案 3 :(得分:-1)
您将需要使用ActiveX(请参阅W3C Schools使用AJAX)并在托管计算机Dataconnectors(仅托管该文件的计算机)中注册该文件。与之前提到的不同,此方法不依赖于Microsoft平台(无论如何都适用于客户端),并且您不需要安装Office组件。
对于在Windows中注册的大多数数据文件(包括MDB),可以执行此操作,并且可以根据需要进行尽可能多的控制,因为您可以为不同目的分配不同的Windows帐户。
就像我之前说过的,除了可能检索凭据,操作以及所有这些之外,这一切都是服务器端并且对客户端没有影响。
此方法使用JavaScript,SQL(不,甚至不是MSSQL,只是SQL标准),并且只要求托管计算机正在运行任何Microsoft NT平台。
Windows数据连接器所做的是为各种数据组件提供通用接口,就像DirectX对视频卡和其他外围设备一样。您还可以使用它将MDB(Microsoft Access)链接到MySQL服务器并以这种方式直播数据,我认为这比使用XLS电子表格更简单...特别是因为您可以将XLS导入MDB。
答案 4 :(得分:-2)
你真的需要一个Excel文件吗?为什么不使用Excel以CSV或XML格式导出数据并加载?
Excel文件格式非常特定于Excel的实现。如果您只需要数据,请使用仅包含数据的文件格式。