Главная страница
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.09 c
2-1144679604
Дарья
2006-04-10 18:33
2006.04.23
stringgrid


15-1143818149
antonn
2006-03-31 19:15
2006.04.23
Ну вот, продали дельфи...


15-1144171350
cleric
2006-04-04 21:22
2006.04.23
Эвольвента


2-1144234255
Id
2006-04-05 14:50
2006.04.23
DBComboBox1.Style:=csDropDownList


2-1144747164
pavel_guzhanov
2006-04-11 13:19
2006.04.23
Как можно поменять местами строки в листбоксе?