Главная страница
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.47 MB
Время: 0.036 c
2-1144602190
Quattro
2006-04-09 21:03
2006.04.23
New


2-1144595174
Radagast
2006-04-09 19:06
2006.04.23
Помогите, пожалуйста, разобраться с объектами


1-1142683951
Ольга
2006-03-18 15:12
2006.04.23
Проблема при работе двух процессов с одним файлом.


5-1130223241
Чапаев
2005-10-25 10:54
2006.04.23
Странность в Delphi 2005


15-1144046356
ORMADA
2006-04-03 10:39
2006.04.23
Delphi7+sp1