如何parsing在JavaScript中的Excel文件?

我正在尝试编写一个小型的networking工具,它接受一个Excel文件,分析内容,然后将数据与另一个数据集进行比较。 这可以很容易地在JavaScript中完成? 有没有这样的JavaScript库?

你如何将一个文件加载到JavaScript中?

另外,Excel是一种专有格式,并且足够复杂,以至于在开发中有多年的服务器端库(例如Apache POI )还没有设法正确地对这些Microsoft格式进行100%反向工程。

所以我认为答案是你不能。

更新:这是在纯JavaScript中。

更新2:现在可以使用JavaScript加载文件: https : //developer.mozilla.org/en-US/docs/DOM/FileReader

在过去的四年里,有很多的进步。 HTML5 File API已经被主要浏览器供应商所接受,并且性能增强实际上使得在浏览器中parsingexcel文件(xls和xlsx)成为可能。

我在这个空间的项目:

两者都是纯JSparsing器

为了在js中做所有的事情,你必须使用ActiveX,也许还需要使用办公室Web组件。 只是一个build议,但你可能不想走这条路; 这将是效率低下,只有IE / Win。 使用基于服务器的解决scheme会更好。

您需要使用ActiveX(请参阅W3C Schools关于使用AJAX)并在托pipe计算机Dataconnectors(仅托pipe该文件的计算机)中注册该文件。 与前面提到的不同,此方法不依赖Microsoft平台(对于客户端而言),并且不需要安装Office组件。

这可以在Windows中注册的大多数数据文件(包括MDB)完成,并允许您尽可能多地进行控制,因为您可以为不同目的分配不同的Windows帐户。

就像我之前说过的,这一切都是服务器端,除了可能检索证书,操作和所有这些之外,对客户端没有影响。

这种方法使用JavaScript,SQL(不,甚至没有MSSQL,只是SQL标准),只需要托pipe计算机运行任何Microsoft NT平台。

Windows数据连接器所做的是为各种数据组件提供一个通用接口,就像DirectX为video卡和其他外围设备所做的那样。 您也可以使用它将MDB(Microsoft Access)链接到MySQL服务器,并以这种方式提供数据,我相信这比使用XLS电子表格更简单…特别是因为您可以将XLS导入MDB。

真的需要一个Excel文件吗? 为什么不使用Excel导出CSV或XML数据并加载?

Excel文件格式对于Excel的实现非常具体。 如果您只需要这些数据,请使用仅包含数据的文件格式。