Форум: "Базы";
Текущий архив: 2005.08.14;
Скачать: [xml.tar.bz2];
ВнизКонвертация Excel в dbf Найти похожие ветки
← →
onics (2005-07-04 15:22) [0]Добрый день.
Не поможите изобрести велосипед?
Необходимо отконвертировать Excel в dbf (стандартно из Excel не подходит, по причине неграммотности пользователей).
Вопрос состоит в том, как проще подключиться к Excel и скачать данные в программу?
Спасибо.
← →
YurikGL © (2005-07-04 20:09) [1]ADO
OLE
← →
evvcom © (2005-07-05 08:39) [2]Если из Excel его же средствами писать в dbf, то скорее всего ты получишь dbf не с той структурой, что ты ожидаешь. Excel "портит" структуру dbf, поэтому лучше данные из Excel читать (например, через OLE), а потом в dbf их писать (через ADO, BDE или еще чего может придумаешь).
← →
Anatoly Podgoretsky © (2005-07-05 08:52) [3]Что то не ладно в датском королевстве. Вот благоприятный случай повысить квалификацию пользователей, обучить более грамотной работе с Эксель. Так нет же, вместо этого тратить средства на создание костыля. А потом удивляемся почему у нас только две беды. Дураки и программисты.
← →
onics (2005-07-05 10:21) [4]2 Anatoly Podgoretsky. Сам знаю что не ладно, но писать предется по любому, поскольку это всего-лишь кусок программы, который легко можно было бы и не писать. А как известно: нервные клетки не восстанавливаются.
2 All. Какую технологию доступа к данным Excel, проще реализовать? Время на выбор пути реализации пока есть.
Спасибо.
← →
Anatoly Podgoretsky © (2005-07-05 10:23) [5]OLE - SaveAs
← →
evvcom © (2005-07-05 12:28) [6]структура dbf важна? Или пофиг какой ее сделает Excel?
← →
Anatoly Podgoretsky © (2005-07-05 12:34) [7]Ну еще в первом посте указано "(стандартно из Excel не подходит, по причине неграммотности пользователей)." - значит не важна, да и откуда другая возьмется ("Конвертация Excel в dbf"). Вроде бы все условия четко указаны.
← →
evvcom © (2005-07-05 12:51) [8]Ну пусть будет так. Я не уловил в тексте знания автором факта того, на что я пытался его натолкнуть.
← →
Anatoly Podgoretsky © (2005-07-05 13:24) [9]evvcom © (05.07.05 12:51) [8]
А вот здесь ты прав.
← →
onics (2005-07-05 14:17) [10]2evvcom Структура dbf уже определена, по ней вопросов нет. Файл Excel формируется из бух.программы и его структура тоже определена с учетом структуры dbf. При стандартном сохранении Excel формирует необходимую ст-ру dbf.
2 Anatoly Podgoretsky Спасибо, через OLE действительно просто, почти реализовал тестовый прогон.
2 All Если возможно, просветите по поводу подключения через ADO, для общего развития.
Спасибо.
← →
Anatoly Podgoretsky © (2005-07-05 14:24) [11]onics (05.07.05 14:17) [10]
Через АДО подключаешь к экселю как к базе/таблицы и применяешь стандартные средства. Файл dbf в этом случае не используется, прямое чтение с листа Экселя.
← →
onics (2005-07-05 14:30) [12]2 Anatoly Podgoretsky А в качестве Provider что выбирать?
← →
Anatoly Podgoretsky © (2005-07-05 14:40) [13]onics (05.07.05 14:30) [12]
Не помню, давно не использовал. Но ты посмотри пример в демос AdoTest там можно потренироваться и там есть выбор провайдера.
← →
onics (2005-07-05 15:31) [14]Спасибо, задача решена.
Если кому понадобиться, вот текст тестового прогона.
****
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;
← →
Doctor Deejay (2005-07-08 11:39) [15]Супер! Как раз это и искал!
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.08.14;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.013 c