我开发了一个VBA电子表格,该电子表格在本地运行,并持续从其他来源获取数据。
我想找到一种方法通过php提取/访问此电子表格中的数据,然后使用浏览器输出一些处理过的数据,这些数据会随着电子表格更新而相应更新。
任何人都可以告诉我如何实现这一目标?电子表格和php都将在Windows机器上本地运行,如果这更容易......
非常感谢你的帮助:)
答案 0 :(得分:2)
我刚刚开发了一个应用程序,它的目的是在电子表格中使用http请求on_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中存在计时器来执行轮询检查更新 对于网络,您应该使用ajax进行无缝更新,请查看http://datatables.net/
答案 1 :(得分:0)
您可以使用PHP Excel Reader从电子表格中轻松显示数据 - 我认为这是最简单的PHP Excel库,可以执行您想要的操作,只需将页面设置为定期刷新即可。
使用这个库非常简单:
<?php echo $data->dump(true,true); ?>
一旦你告诉它文件在哪里显示输出几乎就像在Excel工作簿中看到的那样。 (这是他们已经在线运行的link to an example)
这意味着您不会遇到任何锁定问题,因为读取操作相当快(假设文件大小合理,用户实际上不会超过几分钟/秒。
答案 2 :(得分:0)
您希望PHP只从Excel工作表生成HTML吗? Excel本身支持HTML生成。
尝试另存为网页以测试Excel生成的HTML质量。如果没关系,那么你所要做的只是编写一小段VBA,它将自动从电子表格中生成HTML。
在Excel中构建CMS构建。