Тема: stringgrid + excel
Показать сообщение отдельно
  #2  
Старый 18.05.2011, 12:16
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Так попробуйте:
Код:
function SaveAsExcelFile(stringGrid: TstringGrid; FileName: string): Boolean;
const
  xlWBATWorksheet = -4167;
var
  Row, Col: Integer;
  GridPrevFile: string;
  XLApp, Sheet: OLEVariant;
begin
  Result := False;
  XLApp  := CreateOleObject('Excel.Application');
  try
    XLApp.Visible := true;
    XLApp.Workbooks.Add(xlWBatWorkSheet);
    Sheet      := XLApp.Workbooks[1].WorkSheets[1];
    Sheet.Name := 'My Sheet Name';
    for col := 0 to stringGrid.ColCount - 1 do      
        Sheet.Cells[col + 1, 0] := stringGrid.Cells[col, 0];
    try
      XLApp.Workbooks[1].SaveAs(FileName);
      Result := True; 
    except 
      // Error ? 
    end; 
  finally
    if not VarIsEmpty(XLApp) then 
    begin 
      XLApp.DisplayAlerts := False; 
      XLApp.Quit; 
      XLAPP := Unassigned; 
      Sheet := Unassigned;
    end;
  end;
end;
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием