0

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

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

任何人都可以告诉我如何实现这一目标?如果这更容易的话,电子表格和 php 都将在 Windows 机器上本地运行......

非常感谢您的帮助 :)

4

3 回答 3

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/

于 2012-08-28T08:09:51.287 回答
0

您可以使用PHP Excel Reader轻松地从电子表格中显示数据 - 我认为这是最简单的 PHP Excel 库,它可以满足您的需求,只需将页面设置为定期刷新。

使用这个库就像这样简单:

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

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

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

于 2012-08-28T08:00:20.260 回答
0

您希望 PHP 仅从 Excel 工作表生成 HTML?Excel 本身支持 HTML 生成。

尝试另存为网页以测试 Excel 生成的 HTML 的质量。如果没问题,那么您所要做的就是编写一小段 VBA,它将自动从您的电子表格中生成 HTML。

Excel中构建的CMS排序。

于 2012-08-28T08:39:27.737 回答