0
- 24.05.2018 - 13:23
|
Всех приветствую! Последнее время занимался закачкой номенклатуры и цен из файлов Excel в УТ11. С этим все более или менее нормально, удивился только тому как же кривовато их делают даже крупные поставщики. И вот подкатили несколько прайсов в файлах Word. Цены идут в таблицах, казалось бы читай, разбирай, записывай. Но таблицы не просто набор строчек с товарами, а с объединенными ячейками. Немного упрощая, приведу типичный случай. Всего 3 колонки: 1 - Наименование 2 - Артикул 3 - цена Цены идут группами на 4 артикула: Колонка 1 - Одно наименование в объединенной ячейке на 4 строки Колонка 2 - 4 строки артикулов Колонка 3 - одна цена на все 4 артикула Надо прочитать как 4 товара (Наименование + Артикул** Не знаю, как это надо делать по науке, но прайс такого типа сумел победить, определив общее количество строк с данными, затем количество строк в каждом столбце и через множители количествСтрокоВсего/КоличествоСтрокВСтолбце сумел правильно вытащить все данные.Понятно, что это как-то кривовато. Но следующий прайс хуже, в нем группы содержат разное количество артикулов, например 2 группы по 4, затем 2 группы по 3, потом вообще несколько простых строчек без всяких групп (объединенных ячеек). Кто читал такие таблицы, подскажите куда копнуть, какие коллекции в объектной модели таблицы Word использовать. Сейчас я тупо использую Таблица.Cell(НомерСтроки, НомерКолонки).Range.Text) и вся моя хитрость состояла в правильном определении номера строки для каждой читаемой позиции | |
1
- 24.05.2018 - 16:02
|
А попросить предоставить прайсы в формате Excel не пробовал? Неужели настают времена программ, которые отказываются дружить с Excel? :-) | |
2
- 24.05.2018 - 16:13
| (1)Вопрос был о том как закачать из Word. Ты меня все время выводишь на контакт с поставщиками, но мне это не надо, у меня есть клиент, а поставщик - их клиент. Я попросил Excel, но ответа не получил. Думаю что и Word можно одолеть, просто надо знать подход | |
3
- 24.05.2018 - 16:24
| 2-USSR > Разумеется, можно повозиться с прайсом и в Word'е. Но это более трудоемко, чем позаимствовать из Excel. | |
4
- 24.05.2018 - 16:25
| (3)Это и ежу понятно. Из Excel я уже закачал более 100 листов, самой разной внешности | |
5
- 24.05.2018 - 19:41
| а ссылок в яндексе на тему "конвертиротвание таблиц из Word в excel средствами VBA" больше 100 :) я нисколечко не настаиваю, но если ты наловчился работать с "Excel самой разной внешности", то почему бы и не привести из всяких-разных других форматов всякой разной внешности к тому виду, с которым тебе удобнее всего работать? тут имхо вопрос философский - или изучать всякие-разные форматы или приводить их к любимому виду. | |
6
- 24.05.2018 - 21:08
| (5)честно говоря, мне даже мысль такая в голову не приходила. Надо подумать, но идея при внешней привлекательности имеет свои подводные камни. Если сложно прочитать оригинал, то вряд ли будет просто потом прочитать из того что родит конвертор. А если конвертор делает всё прпвильно, то почему мы с вами не можем сделать тоже самое? Ведь вся объектная модель в нашем распоряжении, надо просто ей грамотно воспользоваться | |
7
- 25.05.2018 - 03:00
|
", удивился только тому как же кривовато их делают даже крупные поставщики. " - ну, если сделано с какойто автоматизации - то обычно более-менее. если манагер поставщика лабает кривыми ручонками - то все что угодно может быть | |
8
- 25.05.2018 - 09:03
| Моим бухам, в свое время, предоставляли вообще в бумажном виде только, я научил их пользоваться FineReader-ом и под выходные файлы Excel сделал обработку загрузки. Поскольку структура получившегося файла была заранее не известна, приходилось анализировать содержимое каждой ячейки. | |
9
- 25.05.2018 - 13:30
| Ну в общем, все не так страшно. Решение даже проще, чем в частном случае с 4 артикулами. Для каждой колонки задействовал 2 номера строки, один - общий для читаемой таблицы и второй - номер последней удачно прочитанной в "попытке" строки. Сначала читаем в в строке по общему номеру, если неудачно, но по счетчику колонки. Вот и весь конвертер. Есть еще более сложный случай, но там другая история | |
10
- 26.05.2018 - 09:27
| Прочитал и 2 наиболее заковыристых файла. Всем спасибо ) | |
| Интернет-форум Краснодарского края и Краснодара |