Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.01.09;
Скачать: [xml.tar.bz2];

Вниз

Excel и Delphi   Найти похожие ветки 

 
Weare   (2002-12-23 13:36) [0]

Добрый день мастера.
Подскажите, плз, как можно из Excel"евского файла закачать в таблицу Парадокс только те записи, где стоит соответствующая фамилия?
Вообще, как можно качать данные с Excel"я?
Подскажите, уважаемые, хоть в каком направлении двигаться.


 
RWolf   (2002-12-23 14:37) [1]


var vExcel,vWorkBook,vWorkSheet,vCell,v1,v2,vs: OLEVariant;
...
vExcel := CreateOLEObject("Excel.Application");
vWorkBook := vExcel.WorkBooks.Add;
vWorkSheet := vWorkBook.WorkSheets.Add;

vWorkSheet.Cells[1,1]:=3.14159;
vWorkSheet.Cells[2,1]:="тест";

vExcel.Visible := True


 
RWolf   (2002-12-23 14:43) [2]

ЗЫ: это пример вставки данных в Excel, вырезан из рабочего приложения. Данные _из_ Excel - качаются так же. Понятия запроса в Excel нет, так что качать придется все подряд и выбирать нужные данные самому.
Подробнее о методах/свойствах/и т.п. - см. встроенный в Excel help (то, что касается VBA)


 
Weare   (2002-12-23 14:59) [3]

Огр. спасибо!


 
Jeka   (2002-12-23 17:08) [4]

Из одной книги выдрал,самому когдато надобыло
Простой пример думаю все понятно

procedure TForm1.SpeedButton1Click(Sender: TObject);
var
RangeE:Excel2000.Range;
I, Row:Integer;
Bookmark:TBookmarkStr;
begin
ExcelApplication1.Visible[0]:=True;
ExcelApplication1.Workbooks.Add(NULL,0);
RangeE:=ExcelApplication1.ActiveCell;
for I:=0 to Table1.Fields.Count - 1 do
begin
RangeE.Value:=Table1.Fields [I].DisplayLabel;
RangeE:=RangeE.Next;
end;
try
Bookmark:=Table1.Bookmark;
try
Table1.First;
Row:=2;
while not Table1.Eof do
begin
RangeE:=ExcelApplication1.Range["A"+
IntToStr(Row), "A"+ IntToStr(Row)];
for I:=0 to Table1.Fields.Count - 1 do
begin
RangeE.Value:=Table1.Fields[I].AsString;
RangeE:=RangeE.Next;
end;
Table1.Next;
Inc(Row);
end;
finally
Table1.Bookmark:=Bookmark;
end;
finally
Table1.EnableControls;
end;
RangeE:=ExcelApplication1.Range["A1","E"+ IntToStr (Row-1)];
RangeE.AutoFormat(3,NULL,NULL,NULL,NULL,NULL,NULL);
end;


procedure TForm1.DBGrid1TitleClick(Column: TColumn);
begin
Table1.IndexFieldNames :=Column.FieldName;
end;


 
Weare   (2002-12-23 18:17) [5]

>to Jeka

Подскажи откуда взялось Excel2000.Range


 
Jeka   (2002-12-26 08:13) [6]

для заполнения таблицы используется внутренний объект Excel - Range Есть такой же у Word чтобы небыло путуници пишут excel2000.range Вобщем для определения библиотеки ексель.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.01.09;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.56 MB
Время: 0.043 c
4-25134
vvs2002
2002-11-21 05:21
2003.01.09
Разлочить Button?????


1-24849
kull
2002-12-25 13:45
2003.01.09
Как добавить свой пункт в меню MSWord?


7-25114
dr.karter
2002-09-24 11:43
2003.01.09
Работа с командной строкой


6-24995
Kon2002
2002-11-07 19:13
2003.01.09
WinXP


14-25027
linker
2002-12-18 05:01
2003.01.09
Книга





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский