У меня есть веб-служба, которая создает большой объем данных CSV, которые мне нужно импортировать в 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
Однако мне также нужно отправить веб-службе полезную нагрузку с параметрами, чтобы отфильтровать возвращаемые ею данные.
Единственный способ, который я нашел для этого, — использовать свойство .PostText, но для этого требуется, чтобы соединение было «URL;» а не "ТЕКСТ"; и поэтому не разрешает свойство .TextFileCommaDelimiter, которое имеет решающее значение для вывода на листе.
Есть ли простой способ решить эту проблему, то есть извлечь данные из веб-службы, используя почтовые данные, но также убедиться, что Excel правильно интерпретирует формат с разделителями-запятыми?