Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Как из таблицы Excel скопировать данные в базу ...  (Прочитано 12114 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
creater
Гость
« : 23-05-2004 17:09 » 

Т.е. необходимо вставить БД Птицы данные из Excel
Под Билдером (в иделе) или Дельфями

Заранее больше спасибо!
Записан
x77
Модератор

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #1 : 23-05-2004 17:15 » 

формат файла известен заранее?

кол-во колонок, например?

гарантированно, что они начинаются с первой строки первого ряда?
Записан

Anonymous
Гость
« Ответ #2 : 23-05-2004 17:17 » 

Цитата: x77
формат файла известен заранее?

кол-во колонок, например?

гарантированно, что они начинаются с первой строки первого ряда?


файл приблизительно абстрактный Улыбаюсь
т.е. возможно порядок колонок с данными может быть разным, так же как и количество записей в таблице Экселя может быть разным.
Записан
x77
Модератор

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #3 : 23-05-2004 17:25 » 

кол-во запсей - эо фигня. а вот колонок....


как предполагается определять, какую колонку куда писать? по заголовку? где тогда живёт заголовок? на первой строке? на десятой? не известно?


можно подробнее про задачу в целом, может, есть другие пути?
Записан

Anonymous
Гость
« Ответ #4 : 23-05-2004 17:33 » 

Цитата: x77
кол-во запсей - эо фигня. а вот колонок....


как предполагается определять, какую колонку куда писать? по заголовку? где тогда живёт заголовок? на первой строке? на десятой? не известно?


можно подробнее про задачу в целом, может, есть другие пути?


Заголовок находится на первой строке.
Есть файл Ecxel из него копируются данные в БД в соответсвии с количеством колонок(начиная с первой) и заголовку который находится в первой строке таблицы Ecxel
Записан
x77
Модератор

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #5 : 23-05-2004 17:38 » 

стал быть, алгоритм следующий.

1. открываем файл
2. переходим сразу на вторую строку
3. читаем текущую строку из первой книги (worksheet) екселя
4. для каждой колонки смотрим её название в первой строке
5. находим соотвествующее поле в таблице по названию экселевской колонки
6. пишем
7. если не конец - то идём на п. 3.
8. закрываем файл.


я прапвильно понял?
Записан

Anonymous
Гость
« Ответ #6 : 23-05-2004 17:41 » 

Цитата: x77
стал быть, алгоритм следующий.

1. открываем файл
2. переходим сразу на вторую строку
3. читаем текущую строку из первой книги (worksheet) екселя
4. для каждой колонки смотрим её название в первой строке
5. находим соотвествующее поле в таблице по названию экселевской колонки
6. пишем
7. если не конец - то идём на п. 3.
8. закрываем файл.


я прапвильно понял?


точно так
Записан
x77
Модератор

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #7 : 23-05-2004 18:10 » new

грубо говоря, делается так:

Код:

var Excel, WorkBook, Sheet{ Variant;
begin
 Excel {= CreateOleObject)'Excel.Application':;  
 Excel.WorkBooks.Open)FileName,False:;  
 WorkBook {= Excel.WorkBooks.Item[1(;  
 Sheet {= Workbook.Sheets.Item[3(;  
 Sheet.Cells[1,2({='ASDFG';  
 Sheet.Cells[2,2({=230;  
 ...
Записан

Anonymous
Гость
« Ответ #8 : 25-05-2004 07:33 » 

Цитата: x77
грубо говоря, делается так:

Код:

var Excel, WorkBook, Sheet{ Variant;
begin
 Excel {= CreateOleObject)'Excel.Application':;  
 Excel.WorkBooks.Open)FileName,False:;  
 WorkBook {= Excel.WorkBooks.Item[1(;  
 Sheet {= Workbook.Sheets.Item[3(;  
 Sheet.Cells[1,2({='ASDFG';  
 Sheet.Cells[2,2({=230;  
 ...


Это все конечно хорошо, но Я пока склонен к использованию компонент, а именно раздобыл компоненту XLSReadWrite V1.35.

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

Может чего-нить подскажешь?
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines