Имя: Пароль:
1C
1С v8
Загрузка из Excel с объединенными ячейками
0 Soul771
 
11.04.20
18:09
Здравствуйте.
Если возможно, подскажите ссылку, как обрабатывать данные Exel с объединенными ячейками. Как считывать по номерам столбцов знаю.
Не нашла, как обработать значения объединенных ячеек. Еще одна сложность, что нужно анализировать значение первой объединенной в каждой строке, а размер разный.
На скрине понятнее, наверное, прикрепляю.

https://radikal.ru/lfp/b.radikal.ru/b19/2004/52/02a51fbf993d.jpg/htm
1 Dmitry1c
 
11.04.20
18:49
(0) нет возможности решить задачу более простым способом - сделать выгрузку из источника более простой, например, в XML-файл?
2 Dmitry1c
 
11.04.20
18:49
а то сношаться с ячейками так себе удовольствие.
3 Soul771
 
11.04.20
18:51
(1) - нет возможности выгрузить в другой формат, к сожалению.

посмотрела еще раз файл... есть мысль, что можно обратиться по номеру первой колонки из объединенных... буду пробовать..
4 Tatitutu
 
11.04.20
19:30
у меня ПРЫГ-СКОК элементарно загрузит этот файл и обработает
получи данные
количество строк и столбцов
загрузи в ТЗ - дальше придумай как обработать
удалить пустые столбцы
удалить строки (выделяющиеся по своим параметрам)
т.е. максимальное количество данных в строке 24 значения
понятно что строки с 2-5 значений можно игнорировать.
у тебя есть контрольный столбец с количеством - посчитала например 4890
и сравниваешь итог перед удалением строки, удалила, сравнила - изменилось, вернула
попробуй интересная задача, но решаемая
5 Tatitutu
 
11.04.20
19:33
https://magazkat.ru/samouchitel-instruktsiya-polzovatelya/item/171-universalnaya-zagruzka-iz-excel - посмотри

тем более у тебя в этом файле есть нумерация строк Строка(n, 2).text - вот и беги по ней 315,316,....,317
6 Злопчинский
 
11.04.20
19:37
не, нафиг.
кто строит обмен данными на хитроввипаных экселях - должны страдать и мучаться.
если эксель - то простой плоский файл. Нет такого - НАХЕР! пусть манагеры ручками переносят/забивают. Надоест им - договорятся о нормальном обмене. Не надоесть - программер как был так и есть не при чем...
7 Злопчинский
 
11.04.20
19:38
(4) 100% гарантия правильной обработки всех файлов?
8 Tatitutu
 
11.04.20
20:00
(7) ну 100 не 100, но за 5 лет проблем выявлено не было. Проглатывает все
9 kofeinik
 
11.04.20
22:13
Если я правильно помню, то если объединить три ячейки в одну, то при считывании данных оттуда данные будут считываться только из той, где они были до объединения. То есть, в одном файле будет так, в другом может быть по-другому.
10 АнализДанных
 
12.04.20
11:29
Грузи, через табличный документ (метод "Прочитать()" из файла эксель). Тогда значение объединённой ячейки всегда будет равно значению из первой ячейки этого обьединения.
С (9) я тоже согласен, но это надо проверить.
11 Aлeф
 
12.04.20
15:59
У меня с объединенными что-то не получалось, я их разъединял, unmerge вроде. Какие волшебные слова писать, можно подсмотреть, записав макрос в экселе.
Табличный документ намного быстрее экселя штучка, может туда копировать и там потом обрабатывать. И от того, какие электронные таблицы где стоят, не будете зависеть.
12 bolder
 
12.04.20
16:31
(0) Пошли их лесом.
13 NurSagen
 
12.04.20
16:41
(10) +.
Недавно тоже сталкивался,
ТабличныйДокумент.Прочитать(ИмяФайлаЕксель);
помогло
14 runoff_runoff
 
12.04.20
17:03
(13) имя файла задано на клиенте, а метод Прочитать() доступен только на сервере
15 Dmitry_333
 
12.04.20
17:18
Выгрузить в массив и работать уже с ним.
16 АнализДанных
 
13.04.20
13:35
(14) нет никаких проблем передать файл на сервер и там прочитать.