Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Конвертация Excel в dbf [D7, dBase, FoxPro, Excel]


onics ©   (2005-07-04 15:22:00) 

Добрый день.
Не поможите изобрести велосипед?
Необходимо отконвертировать Excel в dbf (стандартно из Excel не подходит, по причине неграммотности пользователей).
Вопрос состоит в том, как проще подключиться к Excel и скачать данные в программу?
Спасибо.


Doctor Deejay   (2005-07-08 11:39:00) [1]

Супер! Как раз это и искал!


onics   (2005-07-05 15:31:00) [2]

Спасибо, задача решена.
Если кому понадобиться, вот текст тестового прогона.


****
uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, ComObj, Buttons;
var
 Excel, sht:variant;
*****
Excel:=CreateOleObject('Excel.Application');
Excel.Workbooks.Open('d:\test.xls');
Excel.Visible := false;
sht := Excel.ActiveSheet;
sht.Columns['B:D'].Select;
Excel.ActiveWorkbook.SaveAs('d:\test.dbf', 11, false,   false, false, false);
Excel.ActiveWorkbook.Close(SaveChanges:=False);
***
if not VarIsEmpty(sht) then begin
VarClear(sht);
end;
if not VarIsEmpty(Excel) then begin
Excel.Quit;
VarClear(Excel);
end;


Anatoly Podgoretsky   (2005-07-05 14:40:00) [3]

onics   (05.07.05 14:30) [12]
Не помню, давно не использовал. Но ты посмотри пример в демос AdoTest там можно потренироваться и там есть выбор провайдера.


onics   (2005-07-05 14:30:00) [4]

2 Anatoly Podgoretsky А в качестве Provider что выбирать?


Anatoly Podgoretsky   (2005-07-05 14:24:00) [5]

onics   (05.07.05 14:17) [10]
Через АДО подключаешь к экселю как к базе/таблицы и применяешь стандартные средства. Файл dbf в этом случае не используется, прямое чтение с листа Экселя.


onics   (2005-07-05 14:17:00) [6]

2evvcom  Структура dbf уже определена, по ней вопросов нет. Файл Excel формируется из бух.программы и его структура тоже определена с учетом структуры dbf. При стандартном сохранении Excel формирует необходимую ст-ру dbf.
2 Anatoly Podgoretsky Спасибо, через OLE действительно просто, почти реализовал тестовый прогон.
2 All Если возможно, просветите по поводу подключения через ADO, для общего развития.
Спасибо.


Anatoly Podgoretsky   (2005-07-05 13:24:00) [7]

evvcom ©   (05.07.05 12:51) [8]
А вот здесь ты прав.


evvcom   (2005-07-05 12:51:00) [8]

Ну пусть будет так. Я не уловил в тексте знания автором факта того, на что я пытался его натолкнуть.


Anatoly Podgoretsky   (2005-07-05 12:34:00) [9]

Ну еще в первом посте указано " (стандартно из Excel не подходит, по причине неграммотности пользователей)." - значит не важна, да и откуда другая возьмется (" Конвертация Excel в dbf"). Вроде бы все условия четко указаны.


evvcom   (2005-07-05 12:28:00) [10]

структура dbf важна? Или пофиг какой ее сделает Excel?


Anatoly Podgoretsky   (2005-07-05 10:23:00) [11]

OLE - SaveAs


onics   (2005-07-05 10:21:00) [12]

2 Anatoly Podgoretsky. Сам знаю что не ладно, но писать предется по любому, поскольку это всего-лишь кусок программы, который легко можно было бы и не писать. А как известно: нервные клетки не восстанавливаются.
2 All. Какую технологию доступа к данным Excel, проще реализовать? Время на выбор пути реализации пока есть.
Спасибо.


Anatoly Podgoretsky   (2005-07-05 08:52:00) [13]

Что то не ладно в датском королевстве. Вот благоприятный случай повысить квалификацию пользователей, обучить более грамотной работе с Эксель. Так нет же, вместо этого тратить средства на создание костыля. А потом удивляемся почему у нас только две беды. Дураки и программисты.


evvcom   (2005-07-05 08:39:00) [14]

Если из Excel его же средствами писать в dbf, то скорее всего ты получишь dbf не с той структурой, что ты ожидаешь. Excel "портит" структуру dbf, поэтому лучше данные из Excel читать (например, через OLE), а потом в dbf их писать (через ADO, BDE или еще чего может придумаешь).


YurikGL   (2005-07-04 20:09:00) [15]

ADO
OLE


Наверх

Титульная страница Поиск, карта сайта Написать письмо