我开发了一个 VBA 电子表格,可以在本地运行并不断从其他来源获取数据。
我想找到一种方法来通过 php 提取/访问此电子表格中的数据,然后使用浏览器输出一些处理过的数据,这些数据将随着电子表格本身的更新而相应更新。
任何人都可以告诉我如何实现这一目标?如果这更容易的话,电子表格和 php 都将在 Windows 机器上本地运行......
非常感谢您的帮助 :)
我刚刚开发了一个应用程序,它的想法是在电子表格中使用 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/
您可以使用PHP Excel Reader轻松地从电子表格中显示数据 - 我认为这是最简单的 PHP Excel 库,它可以满足您的需求,只需将页面设置为定期刷新。
使用这个库就像这样简单:
<?php echo $data->dump(true,true); ?>
一旦你告诉它文件在哪里显示输出,就像预期在 Excel 工作簿中看到的那样。(这是他们在线运行的示例的链接)
这意味着您不会遇到任何锁定问题,因为读取完成得相当快(假设文件大小合理并且用户不会真正落后几分钟/秒。
您希望 PHP 仅从 Excel 工作表生成 HTML?Excel 本身支持 HTML 生成。
尝试另存为网页以测试 Excel 生成的 HTML 的质量。如果没问题,那么您所要做的就是编写一小段 VBA,它将自动从您的电子表格中生成 HTML。
Excel中构建的CMS排序。