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

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.012 c
1-1142103774
Fenix
2006-03-11 22:02
2006.04.23
Подсветка синтаксиса в RichEdit


9-1127156871
KOT_BEGEMOT
2005-09-19 23:07
2006.04.23
Поворот спрайта в сторону курсора (DelphiX)


2-1144390072
al-al
2006-04-07 10:07
2006.04.23
Создание ярлыка


2-1144481805
task
2006-04-08 11:36
2006.04.23
Запуск файла


8-1132575902
wicked
2005-11-21 15:25
2006.04.23
кватернионы и преобразования...





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