Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.62/60: Рейтинг темы: голосов - 60, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 16.11.2011
Сообщений: 18

Импорт из Excel

16.11.2011, 15:28. Показов 12112. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Помогите пожалуйста с решением следующей проблемы:
Получаем ответы из шести подразделений, в которые были направленны файлы-запросы (ФИО, АДРЕС, Дата рождения, Место рождения), в файл-ответ добавляются столбцы (2 столбца: "Что купил", "Когда купил"; при этом часть подразделений дает ответ на несколько покупок в одной строке: "Что купил1", "Когда купил1", "Что купил2", "Когда купил2" и т.д., остальные на каждую покупку создают новую строку)
Необходимо организовать импорт из получаемых excel файлов, я предполагаю, что необходимо организовать импорт в две таблицы (в первой хранить ключевое поле и данные о покупателе, во второй ключевое поле и ответ из подразделения, ключевое поле вида 12345/12/12/12 в основном все выборки будут производится по ключевому полю или по ФИО)
Вопросы:
1. Какую БД лучше использовать (предполагаемое количество записей от 70-100 тыс)
2. Каким образом лучше организовать импорт? Думаю через матрицы, так как придется заполнять две таблицы, то одним проходом считать в две матрицы.
3. Как лучше/быстрее перенести матрицы в БД, если в первой таблице придется проверять на уникальность по ключевому полю, а во вторую просто дописывать данные?
За ранее признателен за любую помошь.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.11.2011, 15:28
Ответы с готовыми решениями:

Импорт из Excel в Access
Добрый вечер. Делаю так: ADOConnection2.ConnectionString:='Provider=MSDASQL.1;Persist Security Info=False;Extended...

Импорт из Excel в access
Добрый день. Если импортирую из XLS то выдаёт ошибку: Не удаётся найти файл С:\путь к базе mdp. Если XLSX то ишибка Внешняя таблица не...

Импорт данных в БД из MS Excel
ЗДРАВСТВУЙТЕ! СКАЖИТЕ, ПОЖАЛУЙСТА, КАК ИМПОРТИРОВАТЬ ДАННЫЕ ИЗ ТАБЛИЦЫ ИЗ MSEXEL В БАЗУ ДАННЫХ В DELPHI7? ЗАРАНЕЕ БЛАГОДАРНА!

27
0 / 0 / 0
Регистрация: 16.11.2011
Сообщений: 18
10.12.2011, 15:00  [ТС]
Студворк — интернет-сервис помощи студентам
Поле "Фирма" находится в таблице access, да SQL запрос. А использовать другой формат предоставления ответов к сожалению нет возможности. Под структурой ответов я имел ввиду что у каждой фирмы свой порядок полей в ответе (например: фирма №1 - сумма, валюта, комментарий; фирма №2 - валюта, комментарий, сумма; и т.д.)
0
0 / 0 / 0
Регистрация: 16.11.2011
Сообщений: 18
11.12.2011, 23:14  [ТС]
Перефразирую вопрос: каким образом можно вытащить все данные из одного столбца в одномерный массив?
0
0 / 0 / 0
Регистрация: 16.11.2011
Сообщений: 18
20.12.2011, 18:42  [ТС]
Подскажите плз, как правильно написать запрос такого вида:
SQL
1
SELECT rule_import.id FROM rule_import WHERE path LIKE '%'+rule_import.bank+'%';
Мне необходимо чтобы он выбрал значение id, где поле bank содержится в значении переменной path (строкового типа)

Добавлено через 22 минуты
Спасибо, разобрался, целую неделю тупил

Добавлено через 2 часа 34 минуты
Поторопился, в access запрос работает,а в Delphi не хотит, вот код:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
procedure TFImport.Button1Click(Sender: TObject);
var path: string; text: integer;
begin
  path:='Y:\2011\СНБ';
  with FImport.query do
    begin
    SQL.Text:= 'SELECT id as idr FROM rule_import WHERE ' + '''' + path + ''''+ ' Like '+ '''' + '*' + '''' + '+' + 'bank' + '+' +'''' + '*' + '''';
    ShowMessage(SQL.Text);
    Open;
    text:= FieldByName('idr').AsInteger;
    close;
    ShowMessage(IntToStr(text));
    end;
end;
помогите плз, подскажите где тут ошибка или как выполнить запрос с входным параметром path хранимый в бд access. За ранее благодарен.
0
 Аватар для rdama
569 / 292 / 12
Регистрация: 28.01.2011
Сообщений: 1,326
21.12.2011, 05:31
Цитата Сообщение от zumer Посмотреть сообщение
+ '*' +
Что это?
Вы бы хоть текст формируемого запроса посмотрели а?
1
0 / 0 / 0
Регистрация: 16.11.2011
Сообщений: 18
21.12.2011, 10:56  [ТС]
Цитата Сообщение от rdama Посмотреть сообщение
Что это?
Вы бы хоть текст формируемого запроса посмотрели а?
Посмотрел:
Delphi
1
ShowMessage(SQL.Text);
выдает: SELECT id as idr FROM rule_import WHERE 'Y:\2011\СНБ' Like '*'+bank+'*'
а знак '*' замещает последовательность любого числа символов в access (могу ошибаться, но запрос такого вида в access работает)

Добавлено через 5 минут
Спасибо, помогли! Проверил с % в access не работает, а в delphi работает. Остался только вопрос "почему?", где то читал что если запрос выполняется в access, то и через delphi должен работать. Еще раз спасибо!
0
0 / 0 / 0
Регистрация: 16.11.2011
Сообщений: 18
27.12.2011, 16:54  [ТС]
Подскажите плз, почему 10 строка кода не правильно отрабатывает, а 11 правильно - при импорте файлов с количеством строк более 35166
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
    XLApp := CreateOleObject('Excel.Application');
    XLApp.Visible := False;
    XLApp.Workbooks.Open(filename);
    Sheet := XLApp.Workbooks[ExtractFileName(filename)].WorkSheets[1];
    Range := Sheet.UsedRange;
    progresbar (0, Range.Rows.Count, 0);
    ShowMessage(IntToStr(XLApp.ActiveSheet.UsedRange.Rows.Count));
    exit;
    begin
      for str := ri._null_r+2 to Range.Rows.Count do
      for str := ri._null_r+2 to XLApp.ActiveSheet.UsedRange.Rows.Count do
      begin
    ...
0
 Аватар для Ice_and_Fire
512 / 298 / 37
Регистрация: 22.06.2011
Сообщений: 929
27.12.2011, 17:01
Цитата Сообщение от zumer Посмотреть сообщение
Спасибо, помогли! Проверил с % в access не работает, а в delphi работает. Остался только вопрос "почему?", где то читал что если запрос выполняется в access, то и через delphi должен работать. Еще раз спасибо!
Потому что ADO это технология доступа со своим диалектом SQL
Его описание ищи в CHM файле по пути Program Files \Common Files\microsoft shared\OFFICE[XX]\1049\ADO[YY].chm
[XX] и [YY] зависят офиса
Лучше поиском в папке Program Files \Common Files\microsoft shared
0
0 / 0 / 0
Регистрация: 16.11.2011
Сообщений: 18
27.12.2011, 17:05  [ТС]
Разобрался сам, там два листа оказалось . Новый год видать у меня уже наступил)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.12.2011, 17:05

Импорт в Excel из DBGrid
Как импортировать выбранные значения из DBGrid в Excel? :) Тема рядом с Вашей. Загляните!

Импорт из Excel в DBGrid
Добрый день! Подскажите пожалуйста. Хочу сделать импорт из Excel в DBGrid, вытащила на форму OpenDialog1, но он работает не так как...

Из Excel в Delphi импорт
Уважаемые форумчане! Прошу помощи, т.к. 2 день не могу решить проблему. Задача: в цикле присвоить переменным в Delphi значения из ячеек и...

Импорт из QuickRep в excel
Отчет в QuickRep заполняется через запрос Adoquery, теперь надо что бы этот же отчет выводился в excel. Как сделать что бы таблица...

Импорт из Excel в DBGridEh
Подскажите, как импортировать данные из Excel в DBGrid с последующем добавление в БД из DBGrid? есть пример добавление из Excel в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
28
Ответ Создать тему
Новые блоги и статьи
GitHub Copilot в JetBrains: модель по умолчанию, Fix и контроль MCP
and_y87 12.10.2026
10 октября 2026 года GitHub обновил Copilot для JetBrains: добавил настройки стартовой модели, исправления из диагностики и управление автозапуском MCP. Поддержка IDE 2025. 1 прекращена — требуется. . .
День 5 из 28: Codex подсказывает следующий запрос
and_y87 12.10.2026
9 октября 2026 года OpenAI запустила бету Composer predictions — подсказок следующего сообщения в текущем диалоге Codex. Это помощь с формулировкой запроса, а не автоматическое продолжение задачи. . . .
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru