0 / 0 / 0
Регистрация: 15.02.2011
Сообщений: 18
|
|
1 | |
Обработка данных Excel документа, реально ли обработать такую структуру данных?05.04.2011, 13:16. Показов 2865. Ответов 12
Метки нет (Все метки)
Добрый день. Посоветуйте ход решения задачи. Необходимо написать обработку которая будет экспортировать данные из Excel документа в базу данных. На скриншоте предоставлена структура документа.
Формат полей в базе данных должен быть следующего формата: [Имя файла],[Имя листа], A1, B1, C1, D1, E1 [Имя файла],[Имя листа], A2, B2, C2, D3, E1 [Имя файла],[Имя листа], A3, B3, C3, D5, E1 [Имя файла],[Имя листа], A4, B3, C4, D7, E1 В общем алгоритм уже примерно ясен. Но по нему, выходят уж очень ненадежные костыли. Думаю может кто поделиться советом, как это будет проще и оптимальнее сделать. Заранее спасибо.
0
|
05.04.2011, 13:16 | |
Ответы с готовыми решениями:
12
Как лучше организовать такую структуру базы данных? Обработка Загрузка данных из табличного документа Обработка текстового документа с выводом данных в директорию Перенос данных из Excel документа |
2785 / 717 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
|
|
05.04.2011, 14:35 | 2 |
2. Имя файла включает ли оно путь к файлу и расширение? 3. Какой будет принцип выбора данных для добавления в базу: пакетом файлов сразу или будешь выбирать по одному листу книги Excel? 4. Ограничены ли исх. данные колонками L, M, как на скриншоте или это можно как-то определить по содержимому? 5. Есть уже какие-то наработки по коду? 6. Какая версия Office используется? Могу взяться и сделать все "под ключ" после ответа на эти и ещё пару уточняющих вопросов, mc-black@yandex.ru (за небольшое вознаграждение).
0
|
0 / 0 / 0
Регистрация: 15.02.2011
Сообщений: 18
|
|
05.04.2011, 14:46 [ТС] | 3 |
1. Пример записей в одну таблицу.
2. Нет, путь не нужен. 3. Обработка будет перебирать все файлы в дериктории, а так же листы фала, один файл - одна таблица. 4. Нет не ограничены. 5. Кода еще нет, пока ищу оптимальный алгоритм решения. 6. 2003+2007.
0
|
2785 / 717 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
|
|
05.04.2011, 15:14 | 4 |
0
|
0 / 0 / 0
Регистрация: 15.02.2011
Сообщений: 18
|
|
05.04.2011, 15:19 [ТС] | 5 |
Ну давайте рассмотрим на примере 2003.
0
|
2785 / 717 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
|
|
05.04.2011, 15:22 | 6 |
По обработке информации не вижу ничего нерешаемого пока не вижу, порядок действий примерно следующий:
1. Вызов окна выбора папки. 2. Перебор в цикле всех файлов Excel подходящих условиям отбора (все или какая-то их часть). 3. Открытие книги Excel, поиск в ней нужного листа (по имени, по порядковому номеру, по содержимомму?). 4. Определение количества столбцов в таблице. Вычисляется граница, до которой находить и вставлять записи в базу. 5. Циклический перебор столбцов с шагом 2, получение данных для экспорта в базу. 6. Добавление записи в таблицу внутри базы Access по технологии ADO (или DAO, на выбор). Ответьте на вопрос в п.3. Желательно вместо скрина дать упрощенный файл-пример с данными (любыми), который можно использовать для тестирования работы макроса, сделав несколько копий файла. С каким пунктом основные затруднения?))
0
|
0 / 0 / 0
Регистрация: 15.02.2011
Сообщений: 18
|
|
05.04.2011, 16:13 [ТС] | 7 |
3. Все листы файла требуется перебрать последовательно во всех файлах, те искать не нужно, нужно определить сколько их, узнать их имена, так как имя будет частью инсерта в базу.
0
|
2785 / 717 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
|
|
05.04.2011, 16:30 | 8 |
Уверены, что во всей папке ни в однм файле не встретится листа, неподходящего под нужный формат? Может есть признаки корректности листа, чтобы отбрасывать все неподходящие листы? Пример файла Вы так и не выложили. Макрос на 80% написан, не на чем проверить.
0
|
0 / 0 / 0
Регистрация: 15.02.2011
Сообщений: 18
|
|
05.04.2011, 17:02 [ТС] | 9 |
0
|
2785 / 717 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
|
|
05.04.2011, 17:14 | 10 |
Сейчас потестирую, не знаю как будет работать или нет.
0
|
0 / 0 / 0
Регистрация: 15.02.2011
Сообщений: 18
|
|
05.04.2011, 17:16 [ТС] | 11 |
0
|
2785 / 717 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
|
||||||
05.04.2011, 17:50 | 12 | |||||
Код пока получается такой:
1
|
0 / 0 / 0
Регистрация: 15.02.2011
Сообщений: 18
|
|
06.04.2011, 10:23 [ТС] | 13 |
Отличный код, реквизиты для спасибо в почту плз)
0
|
06.04.2011, 10:23 | |
06.04.2011, 10:23 | |
Помогаю со студенческими работами здесь
13
Обработка и изъятие данных из XML документа средствами PHP Скопировать структуру базы данных в новую базу данных без самих данных Загрузка данных из Excel в реквизиты документа Создание документа MS Excel и запись данных Загрузка данных из табличного документа Excel Экспорт данных из 1С в шаблон документа Excel, Word Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |