Страница: 1 |
Страница: 1 |
Вопрос: Вытаскивание данных из web
Добавлено: 19.12.11 19:24
Автор вопроса: dimitriy
всем привет,
с помощью макрорекордера в экселе записал макрос по экспорту из web таблицы в эксель
Sub Запрос()
Dim ВебССылка As String
ВебССылка = "URL;http://zakupki.gov.ru/pgz/printForm?type=CONTRACTS&bid=0&cids=1"
With ActiveSheet.QueryTables.Add(Connection:=ВебССылка, Destination:=Cells(1, 1))
.Name = "zakupki"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlSpecifiedTables
.WebFormatting = xlWebFormattingNone
.WebTables = "1"
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
End Sub
Но проблема в том, что числовое значение в экспортируемой таблице, в первом столбце имеет экспоненциальный формат, причем число округляется
Как можно и можно ли с этим справится?
Буду крайне признателен за помощь!
Ответы
Всего ответов: 12
Номер ответа: 1
Автор ответа:
AxeL
ICQ: 264730390
Вопросов: 2
Ответов: 106
Профиль | | #1
Добавлено: 22.12.11 05:44
Предварительно отформатируй столбцы в нужный формат. Чтобы не было экспоненциальных данных - в числовой примерно так
Номер ответа: 2
Автор ответа:
dimitriy
Вопросов: 1
Ответов: 4
Профиль | | #2
Добавлено: 22.12.11 10:51
Пробывал, перед экспортом всему листу задавал и числовой и текстовый форматы, результат тот же. Формат ячеек после экспорта остается заданным, а вот числовое значение все равно округляется - возможно из-за того, что число состоит из 19-ти цифр?
Я уже в отчаянии и готов даже материально отблагодарить того кто поможет!
Номер ответа: 3
Автор ответа:
AxeL
ICQ: 264730390
Вопросов: 2
Ответов: 106
Профиль | | #3
Добавлено: 23.12.11 03:10
При ручной обработке помогает предварительно выставленный текстовый формат... При веб-запросе он игнорируется... а нельзя тоже самое получить через XML?
Номер ответа: 4
Автор ответа:
dimitriy
Вопросов: 1
Ответов: 4
Профиль | | #4
Добавлено: 23.12.11 11:09
Я с веб-запросами никогда не работал, это мой первый опыт. По поводу XML - это имеется ввиду вытаскивание данных из HTML-кода?
Номер ответа: 5
Автор ответа:
AxeL
ICQ: 264730390
Вопросов: 2
Ответов: 106
Профиль | | #5
Добавлено: 24.12.11 00:15
...а если посмотреть "исходный код страницы", то именно XML тебе и присылается...
код файла GetXML.vbs:
Номер ответа: 6
Автор ответа:
dimitriy
Вопросов: 1
Ответов: 4
Профиль | | #6
Добавлено: 26.12.11 16:31
Мысль о том, что бы сначало получить xml-файл - отличная. Правда при вытаскивании данных из него, как из xml-файла через excel все равно происходит округление числа.
Но данных немного и можно, например, выгрузить все в одну ячейку и макросом разбросать по столбцам...
Номер ответа: 7
Автор ответа:
AxeL
ICQ: 264730390
Вопросов: 2
Ответов: 106
Профиль | | #7
Добавлено: 27.12.11 08:28
Ты скажи, что нужно сделать с этими данными...
Получая XML-файл, ты получаешь ПОЛНЫЙ контроль над всеми данными, которые приходят к тебе в НЕИСКАЖЕННОМ виде, в отличие от веб-запроса... Дальнейшая обработка этих данных - дело относительно простое... Если нужно нормальное отображение в Excel'e, то:
1. Предварительно форматируешь ячейку как "Текст"
2. Ставишь знак ' перед числом. В ячейке он отображаться не будет, но при программной обработке его необходимо будет учитывать.
3. Напиши xsl и xsd файлы, которые соответственно будут указывать как отображать полученную информацию и какая информация (тип строка/число/..., количество, ограничения) должна быть.
Номер ответа: 8
Автор ответа:
AxeL
ICQ: 264730390
Вопросов: 2
Ответов: 106
Профиль | | #8
Добавлено: 27.12.11 08:32
В смысле из всех пунктов тебе нужно выбрать один.
Номер ответа: 9
Автор ответа:
dimitriy
Вопросов: 1
Ответов: 4
Профиль | | #9
Добавлено: 28.12.11 17:03
Для меня веб-запросы и иЖЕсНими - китайская грамота, надо изучать, поэтому 3 пункт мне не подойдет
А вот работа уже внутри экселя с файлами это не проблема
Огромное спасибо за идею с сохранением XML-файла.
ПС. напиши, пожалуйста, размер и куда сбросить благодарность (webmoney или QIWI)
Номер ответа: 10
Автор ответа:
AxeL
ICQ: 264730390
Вопросов: 2
Ответов: 106
Профиль | | #10
Добавлено: 29.12.11 02:35
Файлы для отображения в том виде, в котором данные отображаются на сайте находятся по адресам
Вообще, XSL и XSD файлы имеют XML формат и не так уж сложны. Если что-пиши, постараюсь помочь.
QIWI - 9242690211, размер - по твоему усмотрению.
Номер ответа: 11
Автор ответа:
AxeL
ICQ: 264730390
Вопросов: 2
Ответов: 106
Профиль | | #11
Добавлено: 29.12.11 05:22
Набросал XSD файл... Excel(2003) его игнорирует...
Номер ответа: 12
Автор ответа:
AxeL
ICQ: 264730390
Вопросов: 2
Ответов: 106
Профиль | | #12
Добавлено: 30.12.11 03:35
Спасибо за благодарность