Подскажите пожалуйса как можно реализовать в Delphi надстройку над еxcel
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



Подскажите пожалуйса как можно реализовать в... Expand / Collapse
Автор
Сообщение
19.05.2006 16:43
Forum Guru

Forum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum Guru

участник
Last Login: 24.07.2007 1:34
Сообщ.: 52, Visits: 526
Нужно что бы можно с посмощью этой надстройки можно было загружать файлы excel(загрузка должна быть реализована так: должен быть список с назанием пример zzz, yyy и т.д при выборе нужного названия и возможно щелчка кнопки должн запускаться файл excel назовем его 1.xls для zzz и 2.xls для yyy) и добавлять новые файлы excel (в список с названием и в папку x) назание и прикрепляемый файл к этому названию задаются через эту надстойку, файлы excel представляются отдельными модулями и хранятся все в одной папке(название этой папки любое пусть x). Для тех кто хорошо знает Delphi это продсто подскажите плиз.

Может кто нибудь знает первую или вторую чать надстройки пишите, приму любые советы.

Сообщ. #897168
22.05.2006 1:44
Forum Guru

Forum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum Guru

участник
Last Login: 24.07.2007 1:34
Сообщ.: 52, Visits: 526
что то некто не отвечает наверно наверно сложная задача, вопрос по легче пример: if OpenWorkBook('c:\1.xls') then begin
   SelectSheet(1); -загружает файл excel(1.xls) c с диска С:\ 

Вопрос: как изменить код или что нужно добавить что бы можно было выберать любой файл с расширением xls(имя файла выбераеться из ComboBox) и еще вопрос как в ComboBox добавить новое имя заданное из edit???

Сообщ. #897244
23.05.2006 22:54
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 23.05.2006 22:52
Сообщ.: 1, Visits: 14
Открыть книгу Excel и открыть в этой книге нужный лист - с непривычки только тяжело.
  1. 1. Найди в палитре на странице Servers  а) ExcelApplication,  b) ExcelWorkBook, c) ExcelWorkSheet. Положи их на форму.
  2. Пропиши в public своей формы объявления двух процедур: для открытия соответственно рабочей книги и для открытия листа.

  public
    { Public declarations }
    lcid : Cardinal;
    procedure OpenWorkBook(NameBook : String);
    procedure OpenЦщклSheet(ListName : String);

    3. Опиши сами процедуры.

А) Отрыть книгу Excel.

procedure TForm1.OpenWorkBook(NameBook : String);
var
  iList : Integer;
  LN : WideString;
begin
  lcid := GetUserDefaultLCID;
  { Create a new workbook }
  { The TOleEnum cast in the next line just prevents compiler range warnings }
   ExcelWorkBook1.ConnectTo(ExcelApplication1.Workbooks.Open(NameBook,EmptyParam,EmptyParam,EmptyParam,EmptyParam,
           EmptyParam,EmptyParam,EmptyParam,EmptyParam,
           EmptyParam,EmptyParam,EmptyParam,EmptyParam,lcid));
   end;
end;

Считай количество EmptyParam - 12 штук. Не забудь параметр lcid.

B) Открыть в книге лист с именем, переданным в качестве параметра.

procedure TForm1.OpenWorkSheet1(ListName : String);
var
begin
     // Connect
   ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[ListName] as _Worksheet);
   ExcelWorksheet1.Activate;
end;

   4. Вызови оба метода. Сам напишешь.

      Теперь, как ты хотел - имеешь список. Из списка кликаешь имя книги и листа и передаешь их фактическими параметрами своим процедурам.

Не забудь, - чтобы увидеть свою книгу, пиши:

ExcelApplication1.Visible(lcid) := Visible;

Пока все. Копай глубже. Если вопросы остались, я тебе ссылок подкину на статейки по Com-интерфейсу в Delphi.

Удачи. 

Сообщ. #897413
22.08.2007 18:51
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 09.09.2007 18:16
Сообщ.: 1, Visits: 3
Tihon (23.05.2006)
Открыть книгу Excel и открыть в этой книге нужный лист - с непривычки только тяжело.
  1. 1. Найди в палитре на странице Servers  а) ExcelApplication,  b) ExcelWorkBook, c) ExcelWorkSheet. Положи их на форму.
  2. Пропиши в public своей формы объявления двух процедур: для открытия соответственно рабочей книги и для открытия листа.

  public
    { Public declarations }
    lcid : Cardinal;
    procedure OpenWorkBook(NameBook : String);
    procedure OpenЦщклSheet(ListName : String);

    3. Опиши сами процедуры.

А) Отрыть книгу Excel.

procedure TForm1.OpenWorkBook(NameBook : String);
var
  iList : Integer;
  LN : WideString;
begin
  lcid := GetUserDefaultLCID;
  { Create a new workbook }
  { The TOleEnum cast in the next line just prevents compiler range warnings }
   ExcelWorkBook1.ConnectTo(ExcelApplication1.Workbooks.Open(NameBook,EmptyParam,EmptyParam,EmptyParam,EmptyParam,
           EmptyParam,EmptyParam,EmptyParam,EmptyParam,
           EmptyParam,EmptyParam,EmptyParam,EmptyParam,lcid));
   end;
end;

Считай количество EmptyParam - 12 штук. Не забудь параметр lcid.

B) Открыть в книге лист с именем, переданным в качестве параметра.

procedure TForm1.OpenWorkSheet1(ListName : String);
var
begin
     // Connect
   ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[ListName] as _Worksheet);
   ExcelWorksheet1.Activate;
end;

   4. Вызови оба метода. Сам напишешь.

      Теперь, как ты хотел - имеешь список. Из списка кликаешь имя книги и листа и передаешь их фактическими параметрами своим процедурам.

Не забудь, - чтобы увидеть свою книгу, пиши:

ExcelApplication1.Visible(lcid) := Visible;

Пока все. Копай глубже. Если вопросы остались, я тебе ссылок подкину на статейки по Com-интерфейсу в Delphi.

Удачи. 

 

Я недавно обзавелась Дельфи 2007 и практически ничего не умею, но мне очень нужно превести файл формата XLS в формат Interbase? Может это можно сделать проще, чем здесь написано, без написания кода? Теоретически такие возможнрости заявлены.  Спасибо, если кто поможет.

[right][/right]

Сообщ. #915509
06.09.2007 17:14
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 29.09.2007 22:12
Сообщ.: 343, Visits: 3 388
Я недавно обзавелась Дельфи 2007 и практически ничего не умею, но мне очень нужно превести файл формата XLS в формат Interbase? Может это можно сделать проще, чем здесь написано, без написания кода? Теоретически такие возможнрости заявлены.  Спасибо, если кто поможет.

Попробуй мысленно, писать точно ничего не нужно...И, заодно, напряги мысли для общего развития...Книгу экселя можно открыть через АДО как оюычный набор данных...

Сообщ. #915798
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 1 (1 гость, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl

Время GMT +3:00, Сейчас 9:22