powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Импортировать с Excel
16 сообщений из 16, страница 1 из 1
Импортировать с Excel
    #39839780
Erkanat.iman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день! Что то не пойму как можно организовать импорт из такой структуры в Excel
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
                                            январь	февраль	март	апрель	май
Наименование продукции 1					
Поселок 1					
Поселок 2					
Поселок 3					
Поселок 4					
Поселок5					
Наименование продукции 1					
Поселок 1					
Поселок 2					
Поселок 3	
...
Рейтинг: 0 / 0
Импортировать с Excel
    #39839781
Erkanat.iman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
где после наименование продукции разное количество поселков. заранее спасибо
...
Рейтинг: 0 / 0
Импортировать с Excel
    #39839788
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Импортируете весь лист, а потом разбираете, где продукция, а где посёлки
...
Рейтинг: 0 / 0
Импортировать с Excel
    #39839789
Фотография Kast2K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Erkanat.imanгде после наименование продукции разное количество поселков. заранее спасибо
Может стоит попробовать сравнивать Наименование продукции с каким-то списком. Т.е. при построчном чтении проверять входит ли наименование в список, если нет, то какие-то действия с поселками.
...
Рейтинг: 0 / 0
Импортировать с Excel
    #39839796
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На сводную таблицу похоже.
TcxPivotGrid поможет.

Хотя пример дурацкий.

Что, например сидит в Апреле в Продукции 1 в Посёлке 3? сумма продаж? количество? Другая хрень?

(кстати, зачем дублируется Продукция 1? Опечатка)
...
Рейтинг: 0 / 0
Импортировать с Excel
    #39839797
Erkanat.iman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GatorНа сводную таблицу похоже.
TcxPivotGrid поможет.

Хотя пример дурацкий.

Что, например сидит в Апреле в Продукции 1 в Посёлке 3? сумма продаж? количество? Другая хрень?

(кстати, зачем дублируется Продукция 1? Опечатка)
Опечаток, в количество продаж.
...
Рейтинг: 0 / 0
Импортировать с Excel
    #39839799
Erkanat.iman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kast2KErkanat.imanгде после наименование продукции разное количество поселков. заранее спасибо
Может стоит попробовать сравнивать Наименование продукции с каким-то списком. Т.е. при построчном чтении проверять входит ли наименование в список, если нет, то какие-то действия с поселками.
попробую так, список есть и наименование продукций и поселков
...
Рейтинг: 0 / 0
Импортировать с Excel
    #39839820
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Erkanat.iman> Опечаток, в количество продаж ... попробую так, список есть и наименования продукции и поселков
Месяцы тоже список, а измерения могут расчитываться по любой формуле - типа чисда детей, купивших прдукцию2 в посёлке 1
Читай про факторный анализ в Экселе
...
Рейтинг: 0 / 0
Импортировать с Excel
    #39839851
Vladimir Baskakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а попросить выгрузку, размеченную чуть лучше - можно?
Это философский вопрос - кто должен страдать из за кривых неотформатированых данных.

Далеко не всегда - только программист
...
Рейтинг: 0 / 0
Импортировать с Excel
    #39839876
Erkanat.iman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vladimir Baskakovа попросить выгрузку, размеченную чуть лучше - можно?
Это философский вопрос - кто должен страдать из за кривых неотформатированых данных.

Далеко не всегда - только программист
...
Рейтинг: 0 / 0
Импортировать с Excel
    #39840304
Vladimir Baskakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Именно этот файл - сравнительно нормальный.
Как бы сделал я.
1) написал VBA - код который в колонки G и H строчек с показателями переносит райцентры и продукцию.
признак - маркер продуктовой строки - пустая колонка B, райцентровая следует за продуктовой.
Это уже лучше.
2) этот набор данных надо (я бы тоже в экселе) нормализовать, создав таблицу -

(месяц, год) - (райцентр) - ( нас-пункт) - (продукт) - (показатель)

это в целом несложно, гуглить VBA-транспонирование. Я обычно дел(аю)(лал) на соседний лист

Экселька раньше или позже придет кривая, без правки все равно не обойдется. Это жизнь. Так всегда бывает.
Первая колонка (мес-год) обычно хранится датой приведенной к первому или последнему числу месяца.

Чем еще помочь - подсказать?

Все это, загрузку с трансконированием, можно пихнуть в делфи- код. Но. При любой загрузке испокон веков сидит ответственный товарищ который проверяет формат, исправляет косяки и заносит в итоговую базу.

Не всегда ему доступен исходник программы, а эксель с макросами всегда. причем, в этом самом экселе через ADO все можно лить в базу. Если в базе создан юзверь с ограниченными правами, который видит только табличку загрузки. отдавать макросам логинопароль от всей базы - несекьюрно.
...
Рейтинг: 0 / 0
Импортировать с Excel
    #39840308
Vladimir Baskakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ай, опечатался. Лучше, ( мы же а приори не знаем сколько месяцев) пару колонок сначала вставить и райцентр с продуктом класть туда. но основная идея все равно - препроцессинг макросами VBA. Иначе боль и мучение от кривых файлов.

В принципе, после того как формат попадет в базу (транспортную таблицу) нормализацию надо продолжать, заменяя наименования райцентра - нас-пункта - продукта на ИД-Шники ссылающиеся на справочники.

И это тоже будет боль. Будут пробелы лишние, пробелы неразрывные, путаница е-ё, опечатки любые.

То есть поверх данных нужны чеки. По соображениям выше, про ответственного за загрузку который не кодер, чеки тоже надо выносить в VBA, и дополнять при появлении новых косяков.

Ну то есть, к задаче можно подойти с разных сторон. Зависит от того что надо.

.... Уж как мы файлы грузили грузили ..... (с)обачье сердце
...
Рейтинг: 0 / 0
Импортировать с Excel
    #39840488
AleksR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне кажется, что гораздо надежнее вытаскивать данные прямо из xml, без всяких VBA, благо формат Open XML подробно описан.
В конкретном примере - нужно то по сути пару файлов разобрать sharedStrings.xml и sheet1.xml, а если формулы отбросить (в данном примере они несут избыточную инфу, которую и так посчитать не составит труда в целевом приложении) - так вообще все элементарно получается, загрузил их в TXMLDocument - дальше бегай по табличке сколько угодно, теги все документированы
...
Рейтинг: 0 / 0
Импортировать с Excel
    #39840534
Vladimir Baskakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AleksR,

дело не в формате. А в том, что талантливые пользователи нафигачат в этот файл руками. Марьванны, ПетрДормидонтычи. люди - перекосячат все. А отвечать будет скорее всего разработчик.

Кроме того, могут прислать эксельный файл в старом формате или в бинарном.

Поэтому лично я бы вязаться на XML бы не стал совсем. А в идеале попросил бы данные в нормализованном формате. В котором все по столбикам. месяц, продукт, райцентр, поселок, показатель.

И попросил бы в таймшите время для контролля за этими файлами. Ну тут вот многое зависит от того, как бизнес процесс устроен и кто за что отвечает.

Кто шериф, кто индеец и чьи проблемы кого не волнуют.
...
Рейтинг: 0 / 0
Импортировать с Excel
    #39840539
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladimir Baskakov,

+1.

Жена рассказывала, что для сбора данных присылают специальные шаблонные иксель-документы, в которых невозможно ввести дату в числовое поле или фамилию в поле для даты. Бабы, правда, впадают в ярость, пытаясь исправить значение в поле "итого", но это уже административный, а не технический вопрос.
...
Рейтинг: 0 / 0
Импортировать с Excel
    #39840558
Erkanat.iman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо Всем за совету, приму во внимание! Особенно с нормализацией табл.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Импортировать с Excel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]