我有一个生成大量 CSV 数据的 Web 服务,我需要将其导入到 excel 2013 中。
我找到了直接的方法来做到这一点:
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;” 而不是“文本;” 因此不允许 .TextFileCommaDelimiter 属性,这对工作表中的输出至关重要。
有没有一种直接的方法来解决这个问题 - 即从 Web 服务中提取数据,使用发布数据,但还要确保 excel 正确解释逗号分隔格式?