у меня есть веб-сервис, который производит большое количество данных CSV, который мне нужно импортировать в Excel 2013.Excel VBA импорта 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
Однако мне также необходимо отправить веб-службу полезную нагрузку с параметрами для фильтрации возвращаемых данных.
Единственный способ, которым я нашел это, - использовать свойство .PostText, но для этого требуется, чтобы соединение было «URL»; а не «ТЕКСТ»; и поэтому не допускает свойство .TextFileCommaDelimiter, которое имеет решающее значение для вывода на листе.
Есть ли простой способ решить эту проблему - например, извлечь данные из веб-службы, используя данные post, но также убедиться, что excel правильно интерпретирует формат с разделителями-запятыми?
Можете ли вы поделиться ссылкой на веб-службу? – Santosh
Я не могу бояться. он находится в частной сети. – BBaxter
Если вы сделаете свой веб-сервис GET вместо POST, вы можете передать свой параметр через URL-адрес. Кстати, спасибо за подсказку. –