Главная страница
    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.05 c
3-1120116074
tormoz
2005-06-30 11:21
2005.08.07
Индексирование БД


3-1120152244
jonny210
2005-06-30 21:24
2005.08.07
DataSet.Fields.Fields[i].Required


14-1120783826
АНТИСПАММЕР
2005-07-08 04:50
2005.08.07
Карта Земли GoogleEarth


8-1112576683
zero-g
2005-04-04 05:04
2005.08.07
Разные возможности установки фона рабочего стола


4-1118382956
DARKir
2005-06-10 09:55
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский