实时共享excel数据


Share excel data across real-time?

我开发了一个VBA电子表格,该电子表格在本地运行,可以连续从其他来源获取数据。

我想找到一种方法,通过php提取/访问这个电子表格中的数据,然后使用浏览器输出一些处理后的数据,这些数据将随着电子表格的更新而相应更新。

有人能告诉我如何做到这一点吗?如果比较容易的话,电子表格和php都将在windows机器上本地运行。。。

非常感谢您的帮助:)

我刚刚开发了一个这样做的应用程序,其想法是在电子表格中使用http requests_change事件。

excel 中请求的vba代码

Function httpRequest(ByVal path As String) As String
  Set HttpReq = CreateObject("MSXML2.ServerXMLHTTP")
  HttpReq.Open "GET", path, False
  HttpReq.Send
   httpRequest = HttpReq.ResponseText
End Function

在php方面,您必须开发在数据库中映射数据的部分。当然还有数据的视图。至于实时性,你必须选择更精细的东西,比如一个保存最新更改的表,并不时检查这些更改,除非有某种机制可以这样做

在excel中,存在计时器来完成轮询检查更新对于web,您应该使用ajax进行无缝更新http://datatables.net/

您可以使用PHP Excel Reader很容易地从电子表格中显示数据-我认为这是最简单的PHP Excel库,它可以执行您想要的操作,只需将页面设置为定期刷新即可。

使用这个库非常简单:

<?php echo $data->dump(true,true); ?>

一旦你告诉它文件在哪里显示输出,就像在Excel工作簿中看到的一样。(这里有一个链接到他们已经在线运行的例子)

这意味着您不会遇到任何锁定问题,因为读取速度相当快(假设文件大小合理,用户不会真正落后几分钟/秒)。

您希望PHP只从Excel表生成HTML吗?Excel本机支持HTML生成。

请尝试"另存为网页"来测试Excel生成的HTML的质量。如果可以的话,那么你所要做的就是写一小段VBA,它将自动从你的电子表格中生成HTML。

有点像Excel中的CMS构建。