Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.23;
Скачать: CL | DM;

Вниз

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

 
bagos   (2006-04-10 12:40) [0]

var
 WorkBk : _WorkBook;
 WorkSheet : _WorkSheet;
 maxrow,K, R, X, Y : Integer;
 IIndex : OleVariant;
 RangeMatrix : Variant;
 NomFich : WideString;
begin
 maxrow:=0;
 try
   if OpenDialog1.Execute then begin
     NomFich := OpenDialog1.FileName;
     IIndex := 1;
     XLApp.Connect;
     // Открываем файл Excel
    XLApp.WorkBooks.Open(NomFich,EmptyParam,EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,0);
     WorkBk := XLApp.WorkBooks.Item[IIndex];
     WorkSheet := WorkBk.WorkSheets.Get_Item(1) as _WorkSheet;
     // Для того, чтобы знать размеры Листа (WorkSheet), то есть число строк
     // и колонок
     // Получаем значение последней строки
     X := WorkSheet.Cells.SpecialCells(xlCellTypeLastCell,EmptyParam).Row;
     // Получаем значение последней колонки
     Y := WorkSheet.Cells.SpecialCells(xlCellTypeLastCell,EmptyParam).Column;
     // Определяем число колонок в TStringGrid

     if GenericStringGrid.rowCount < X then GenericStringGrid.rowCount := X;
     if GenericStringGrid.ColCount < Y then GenericStringGrid.ColCount := Y;
     edit1.Text:=inttostr(X);
     // Связываем Variant переменные Листа с Delphi Variant Matrix
//      RangeMatrix := XLApp.Range["A1",XLApp.Cells.Item[X,Y]].Value[xlRangeValueDefault];
     RangeMatrix := XLApp.Range["A1",XLApp.Cells.Item[X,Y]].Value;
     // Закрываем Excel и отсоединяемся от сервера
     XLApp.Quit;
     XLApp.Disconnect;
     K := 2;
     // Цикл для заполнения TStringGrid
     repeat
       for R := 1 to Y do
         GenericStringGrid.Cells[(R - 1),(K + MaxRow - 1)] := RangeMatrix[K,R];
       Inc(K,1);
       GenericStringGrid.RowCount := K + MaxRow + 1;
     until K > X;
     MaxRow := MaxRow + X;
     // Освобождаем Delphi Variant Matrix
     RangeMatrix := Unassigned;
   end;
   GenericStringGrid.RowCount:=maxrow;
 except
   ShowMessage("Невозможно открыть файл");
   Exit;
 end;

суть чего хочу получить:
открываю 1.xls файл,он загружаеться данные в stringgrid
открываю следующий 2.xls файл и его данные должны загружаться сразу или через строчку после уже имеющихся в stringgrid(те которые загрузились из 1.xls)...вот не получается,а скоро уже экзамен,помогите,я начинающий


 
EvS ©   (2006-04-10 13:44) [1]

Что именно не получается?



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

Текущий архив: 2006.04.23;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.01 c
15-1143924568
MVP
2006-04-02 00:49
2006.04.23
Переход от декартовых координат к координатам экрана


3-1141207231
_RusLAN
2006-03-01 13:00
2006.04.23
Firebird. IBExpert. Помогите разобраться с Backup/Restore


2-1144427429
Volodya_
2006-04-07 20:30
2006.04.23
COM port


3-1141387721
[AleX]
2006-03-03 15:08
2006.04.23
DBGrid &amp; ADO и не только....


2-1144475795
Der Nechk@ssoff
2006-04-08 09:56
2006.04.23
Dateimepicker





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский