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

Вниз

Никто не подскажет, почему при передаче в Excel я получаю   Найти похожие ветки 

 
}|{yk ©   (2004-10-26 17:55) [0]

ошибку OLE?
function TMyDBGrid.SaveToXLS(FileName: TFileName; UseOnlyVisibleColumns: boolean = true): TFunctionResult;
var
 XLSArray, XLSRow: Variant;
 HighBound, IDX: integer;
 book: TBookmark;
 E: Exception;
 FieldsList: TStringList;
 Diapasone: string;
 ExcelApp: TOpExcel;
begin
 Result.Successful := False;
 Result.MessageOnError := "There is no data grid";
 try
   if Assigned(self) then
     if Assigned(DataSource) then
       if Assigned(DataSource.DataSet) then
       begin
         try
           book := DataSource.DataSet.GetBookmark;
           DataSource.DataSet.DisableControls;
           if DataSource.DataSet.IsEmpty then
           begin
             Result.MessageOnError := "Dataset is empty"
           end
           else
              {а тут власне виведення даних до варіантного масиву}
           begin
             FieldsList := TStringList.Create;
             for Idx := 0 to self.Columns.Count - 1 do
             begin
               if self.Columns[Idx].Visible or not UseOnlyVisibleColumns then
                 FieldsList.Add(self.Columns[Idx].FieldName);
             end;
             with self.DataSource.DataSet do
             begin
               Last; {щоб відфетчити всі записи}
               XLSArray := VarArrayCreate([0, RecordCount - 1], varVariant);
               First;
               while not Eof do
               begin
                 XLSRow := VarArrayCreate([0, FieldsList.Count - 1], varVariant);
                 for IDX := 0 to FieldsList.Count - 1 do
                   XLSRow[IDX] := FindField(FieldsList.Strings[Idx]).Value;
                 XLSArray[RecNo - 1] := XLSRow;
                 Next;
               end;
               Diapasone := GetCellDiapasoneName(1, FieldsList.Count, 1, RecordCount);
             end;
             Result.MessageOnError := "Data retrived from dataset, but not inserted into Excel";
             {тепер грузимо Excel та кидаємо в нього масив}
             try
               ExcelApp := TOpExcel.Create(self);
               ExcelApp.Visible := false;
               ExcelApp.Connected := true;
               with ExcelApp.Workbooks.Add do
               begin
                 with Worksheets.Add do
                   with Ranges.Add do
                   begin
                     Address := Diapasone;
                     Name := "GRID_DATA";
                     Value := XLSArray;
                   end;
                 SaveAs(FileName);
               end;
               Result.Successful := true;
               Result.MessageOnError := "Succesfull transfered data";
             finally
               ExcelApp.Free;
             end;
           end;
         finally
           if Assigned(book) then
             DataSource.DataSet.GotoBookmark(book);
           DataSource.DataSet.EnableControls;
         end;
       end;
 except on E: Exception do
   begin
     Result.MessageOnError := E.Message;
     Exit;
   end;
 end;
end;


 
VMcL ©   (2004-10-26 17:58) [1]

>>}|{yk ©  (26.10.04 17:55)

Строку, на которой возникает ошибка, и текст сообщения об ошибке нужно угадать?


 
clickmaker ©   (2004-10-26 18:20) [2]


> [1] VMcL ©   (26.10.04 17:58)
> >>}|{yk ©  (26.10.04 17:55)
>
> Строку, на которой возникает ошибка, и текст сообщения об
> ошибке нужно угадать?

Автор только не сказал, какой приз нам за это будет



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

Форум: "Corba";
Текущий архив: 2005.08.07;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.033 c
14-1121515639
default
2005-07-16 16:07
2005.08.07
Работа Л.Заде "Нечеткие множества"


1-1121829268
Алексей Петухов
2005-07-20 07:14
2005.08.07
DHTML Editor


14-1121683826
boriskb
2005-07-18 14:50
2005.08.07
Что это?


3-1120164697
solenko
2005-07-01 00:51
2005.08.07
DBGrid + PopupMenu


14-1121412168
Ega23
2005-07-15 11:22
2005.08.07
Китай проснулся





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