我有一个产生大量CSV数据,这是我需要导入到Excel 2013年Excel的VBA从POST数据
我已经找到了直接的方式做到这一点Web服务的Web服务导入CSV :
With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & URL, Destination:=Cells(1, 1))
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlOverwriteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = False
.RefreshPeriod = 0
.WebPreFormattedTextToColumns = True
.TextFilePromptOnRefresh = False
.TextFilePlatform = 850
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
.WorkbookConnection.Delete
End With
不过,我也需要与参数发送给Web服务的有效载荷以便过滤它返回的数据。
我发现这样做的唯一方法是使用.PostText属性,但这需要连接为“URL”。而不是“TEXT”;因此不允许对工作表中的输出至关重要的.TextFileCommaDelimiter属性。
有没有一种简单的方法来解决这个问题 - 即从Web服务中提取数据,使用后期数据,还要确保excel正确地解释逗号分隔的格式?
你能分享网络服务链接吗? – Santosh
我不能害怕。它在一个专用网络上。 – BBaxter
如果您使Web服务GET而不是POST,那么您可以通过URL传递参数。顺便说一句,谢谢你的提示。 –