通过QueryTables的REST查询呈现不完整的结果

时间:2018-02-14 15:53:10

标签: excel vba excel-vba rest

我在Visual Basic for Excel 2010中实现了使用QueryTables通过REST从MySQL数据库中检索数据,如下所示:

Sub RESTRequest()

With ActiveSheet.QueryTables.Add(Connection:= _
"URL;https://xxxx.xxxx.xxxx.xx/rest/projects/all", _
Destination:=Range("A10"))
  .BackgroundQuery = False
  .TablesOnlyFromHTML = True
  .Refresh BackgroundQuery:=False
  .SaveData = True
End With

End Sub

数据库日志文件显示发出132个数据集,其中的项目以0到131的数字顺序排列。

Excel工作表显示以下示例输出:

/xml        
/item0/@f_1 /item0/@f_2 /item0/@f_3  ... and so on
R4010MP014  n. z.   4016

但是,它仅包含按字母顺序重新排序的101个数据集。剩下的数据集69到99都缺失了。

我彻底搜索了缺失数据的原因,如何解决问题,尝试了不同的想法,但既没有找到关于这样的问题的报告也没有找到解决方案。

我发现的一个可能性是问题可能在于Excel的XML flattener添加#agg列(?)。但是,对同一数据库使用相同代码的另一个REST查询,更少但更大的数据集(因此填充更多列)可正常工作。

如果您可以向我提供任何问题,我会非常感谢您可以检查或解决问题。

亲切的问候

拉​​斯

0 个答案:

没有答案