|
Импорт из HTML
|
|||
---|---|---|---|
#18+
Здравствуйте, уважаемые! Не был на форуме около 10 лет, скучал, ...но не было прикладной задачи (а без нее не интересно), но сейчас она появилась: Мне необходимо импортировать HTM файл с фиксированной структурой (см аттач) Перекопал весь Google, но не смог вытянуть вторую таблицу.... Помогите, пожалуйста, с алгоритмом... И если можно, немного кода... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2016, 19:18 |
|
Импорт из HTML
|
|||
---|---|---|---|
#18+
Упс, не тот файл приложил... И, да, нужна третья таблица.. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2016, 19:26 |
|
Импорт из HTML
|
|||
---|---|---|---|
#18+
guest_rusimportFora74, Спасибо, результат тот, который нужен. Вопрос в том, как его достичь? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2016, 07:25 |
|
Импорт из HTML
|
|||
---|---|---|---|
#18+
Fora74, с помощью незначительной адаптации примера http://am.rusimport.ru/msaccess/topic.aspx?ID=378 и использования библиотеки ADOX ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2016, 07:43 |
|
Импорт из HTML
|
|||
---|---|---|---|
#18+
guest_rusimport, Ваш пример я видел. На строке, после открытия IE Код: vbnet 1.
вылетает ошибка "...Вызванный объект был отключен от клиентов" ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2016, 08:09 |
|
Импорт из HTML
|
|||
---|---|---|---|
#18+
Fora74, пример не мой (у меня работает без ошибок)... а какая таблица то нужна ? первая или вторая? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2016, 08:47 |
|
Импорт из HTML
|
|||
---|---|---|---|
#18+
guest_rusimport, Если в качестве адреса открываемой страницы HTTP, то работает нормально. В моем случае файл сохранен локально, вылезает ошибка. Нужна большая таблица (х.з. какая по счету). У Вас же она нормально импортировалась! ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2016, 09:06 |
|
Импорт из HTML
|
|||
---|---|---|---|
#18+
Guest11111, в качестве адреса указал локальный адрес (файл положил в папку с базой,проблем нет) Код: vbnet 1.
в принципе можно сначала таблицу импортировать в Excel через внешние данные, а потом уже из excel в access (тоже проблем нет, минутное дело) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2016, 09:15 |
|
Импорт из HTML
|
|||
---|---|---|---|
#18+
guest_rusimport, Бред какой-то: в Ваш пример вставляю Вашу строку, и никакого эффекта... Спасибо, за помощь, буду дальше ковырять.. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2016, 09:26 |
|
Импорт из HTML
|
|||
---|---|---|---|
#18+
Fora74, держи функцию для отладки, помести в общий модуль и запускай в окне Immediate Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2016, 09:47 |
|
Импорт из HTML
|
|||
---|---|---|---|
#18+
guest_rusimport, Спасибо. В Вашей функции не объявлены i и z. Но это не важно. Встает на строке Код: vbnet 1.
Ошибка: run-time error '-2147417848, т.е. после открытия страницы ссылка на объект IE отваливается. Курю Google, есть подозрение, что дело в IE11 и Windows7 64bit. Уже пробовал делать задержку, не помогает. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2016, 10:35 |
|
Импорт из HTML
|
|||
---|---|---|---|
#18+
guest_rusimportGuest11111, в принципе можно сначала таблицу импортировать в Excel через внешние данные, а потом уже из excel в access (тоже проблем нет, минутное дело) Сориентируйте, пожалуйста в этом направлении.... Я боюсь, если сейчас IE победю :) , у других ошибка вылезет. А еще я пробовал ч-з открытие файла, только не знаю, как html потом парсить.. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2016, 10:45 |
|
Импорт из HTML
|
|||
---|---|---|---|
#18+
Fora74, у меня Win7 64, IE11 - проблем нет ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2016, 10:47 |
|
Импорт из HTML
|
|||
---|---|---|---|
#18+
Fora74guest_rusimportGuest11111, в принципе можно сначала таблицу импортировать в Excel через внешние данные, а потом уже из excel в access (тоже проблем нет, минутное дело) Сориентируйте, пожалуйста в этом направлении.... Я боюсь, если сейчас IE победю :) , у других ошибка вылезет. А еще я пробовал ч-з открытие файла, только не знаю, как html потом парсить.. импортируете таблицу в Excel, сохраняете файл, потом импортируете этот файл в Access ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2016, 10:56 |
|
Импорт из HTML
|
|||
---|---|---|---|
#18+
Получилось, но нужно более технологично- "нажми на кнопку- получишь результат" Если бы стоял вопрос вытащить 1-2 таблицы и только для себя, я бы вообще ч-з буфер обмена все сделал. И еще минус- количество может достигать нескольких тысяч. Excel помрет. Все равно спасибо. Ни разу так в Excel не приходилось импортировать. Прикольно.. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2016, 11:16 |
|
Импорт из HTML
|
|||
---|---|---|---|
#18+
Fora74, А если создать объект Excel, а потом в-него-из-него погонять? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2016, 11:18 |
|
Импорт из HTML
|
|||
---|---|---|---|
#18+
Fora74А еще я пробовал ч-з открытие файла, только не знаю, как html потом парсить.. можно и так, вот вам функция для опытов с вашим файлом, в Immediate запускаете и наблюдаете, как работает (ну, до ума, я думаю, сами доведете) Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2016, 23:29 |
|
Импорт из HTML
|
|||
---|---|---|---|
#18+
guest_rusimport, Супер! все работает! Куда "+" ставить? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2016, 16:01 |
|
Импорт из HTML
|
|||
---|---|---|---|
#18+
Fora74guest_rusimport, Супер! все работает! Куда "+" ставить? :) Ну, и хорошо! Пожелай лучше "$" :) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2016, 16:45 |
|
Импорт из HTML
|
|||
---|---|---|---|
#18+
И снова здравствуйте. Не легла душа к предыдущему решению. Вот что еще придумал: Считываю исходный html в строковую переменную, затем ищу тэги нужной таблицы и сохраняю найденный кусок обратно в html. Затем SELECTом получаю то, что нужно. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39.
Собственно все работает в моей узкой задаче- импорт таблицы с цифровыми данными. Но есть два момента, с которыми я так и не разобрался: 1. Окончательная строка для записи в файл обрамлена кавычками(") (см. вложение). Всякими LEFT- RIGHT убираются вместе с полезной строкой. Впрочем, на результат это никак не влияет.. Просто интересно. 2 проблема- если таблица содержит русский текст, то кодировка слетает. Пробовал tmpFile.html прилинковать мастером, хотел посмотреть спецификацию подключения- вылетают ошибки, но есть подозрение, что кодировка Западноевропейская (1252). Как победить кодировку? Chrome открывает без проблем. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2016, 21:31 |
|
Импорт из HTML
|
|||
---|---|---|---|
#18+
Fora74, кабы с кодировкой всё так просто было воспользовались бы стандартными средствами импорта из html документов сразу... может Анатолий (Киев) что подскажет по этому "темному" делу - импорту html документов в access (ну, и в частности, по вашему случаю) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2016, 01:36 |
|
Импорт из HTML
|
|||
---|---|---|---|
#18+
Fora74... проблема- если таблица содержит русский текст, то кодировка слетает... Fora74, ИМХО, (не читал, но не одобряю) проблема в функции imphtm2 , а точнее в этой строке - StrConv(TheBytes(), 64) . ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2016, 03:49 |
|
Импорт из HTML
|
|||
---|---|---|---|
#18+
Панург, Я в "сдул" эту функцию. Думал в ней загвоздка, но методом "научного тыка" ничего лучшего не получилось, вернее не получился искомый результат. to guest_rusimport: в общем то Вы правы, вся возня началась из-за кривизны штатного импорта. Кстати, я так и не понял, почему в функции File2StrB такой заковыристый способ чтения файла целиком. Сколько на эту тему ни рыл, везде примеры с построчным чтением, но без преобразований из Byte. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2016, 06:30 |
|
|
start [/forum/topic.php?fid=45&tid=1613007]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
40ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
others: | 350ms |
total: | 482ms |
0 / 0 |