将一个数组从vba传递到phpweb服务


Pass an array from vba to php web service

我是否可以将vba中构建的数组传递给php web服务???我一直在寻找,但没有任何成功。如果可能的话,我现在不知道。所以…我想做的是:我得到了一个用Excel制作的表格,所以我填写了它,然后我按下一个按钮,将数据存储到一个动态数组中,我想将其保存在mysql数据库中,我希望通过将数组传递到php文件来将其保存到数据库中。我会感谢你在这方面的帮助!非常感谢。。。

如果需要PHP脚本通过HTTP获取数组数据,则必须以某种方式序列化数据。如果你用HTML Form的方法来做这件事,那么你可以用PHP let的方法来处理这样的HTML Form数据。

示例:

test/test.php:

<?php
var_dump($_POST);
?>

VBA:

Sub XMLHTTP_Post_Request()
 aDataArray = Array("input1=Hello", "input2=World", "idValue=12345")
 sData = Join(aDataArray, "&")
 Debug.Print sData
 Set oWinHTTP = CreateObject("MSXML2.XMLHTTP.6.0")
 oWinHTTP.Open "POST", "http://test/test.php", False
 oWinHTTP.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded"
 oWinHTTP.Send sData
 Debug.Print oWinHTTP.ResponseText
End Sub

因此PHP中的$_POST阵列将为:

array(3) {
  ["input1"]=>
  string(5) "Hello"
  ["input2"]=>
  string(5) "World"
  ["idValue"]=>
  string(5) "12345"
}

请注意,此示例仅包含ASCII数据。如果您有其他数据,则必须urlencode该数据。