![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Конвертация 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