![]() |
|
Загрузка из 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) нет никаких проблем передать файл на сервер и там прочитать.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |