Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  4 060

•  TDictionary Custom Sort  6 162

•  Fast Watermark Sources  5 956

•  3D Designer  8 830

•  Sik Screen Capture  6 301

•  Patch Maker  6 714

•  Айболит (remote control)  6 706

•  ListBox Drag & Drop  5 561

•  Доска для игры Реверси  95 877

•  Графические эффекты  6 931

•  Рисование по маске  6 167

•  Перетаскивание изображений  5 092

•  Canvas Drawing  5 464

•  Рисование Луны  5 179

•  Поворот изображения  4 719

•  Рисование стержней  3 330

•  Paint on Shape  2 572

•  Генератор кроссвордов  3 465

•  Головоломка Paletto  2 772

•  Теорема Монжа об окружностях  3 573

•  Пазл Numbrix  2 342

•  Заборы и коммивояжеры  3 026

•  Игра HIP  1 982

•  Игра Go (Го)  1 903

•  Симулятор лифта  2 257

•  Программа укладки плитки  1 968

•  Генератор лабиринта  2 422

•  Проверка числового ввода  2 099

•  HEX View  2 428

•  Физический маятник  2 054

 
скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Delphi Sources

Записать TDataSet в Excel файл




{....} 

uses DB; 
{....} 

  private 
    procedure SendToExcel(aDataSet: TDataSet); 

{....} 


uses 
  ComObj, ActiveX, Excel2000; // or Excel97 

procedure TForm1.SendToExcel(aDataSet: TDataSet); 
var 
  PreviewToExcel: TExcelApplication; 
  RangeE: Excel2000.Range; //or RangeE: Excel97.Range 
  I, Row: Integer; 
  Bookmark: TBookmarkStr; 
begin 
  PreviewToExcel := TExcelApplication.Create(Self); 
  PreviewToExcel.Connect; 
  PreviewToExcel.Workbooks.Add(NULL, 0); 
  RangeE := PreviewToExcel.ActiveCell; 
  
  for I := 0 to aDataSet.Fields.Count - 1 do 
  begin 
    RangeE.Value := aDataSet.Fields[I].DisplayLabel; 
    RangeE := RangeE.Next; 
  end; 

  aDataSet.DisableControls; 
  try 
    Bookmark := aDataSet.Bookmark; 
    try 
      aDataSet.First; 
      Row := 2; 
      while not aDataSet.EOF do 
      begin 
        //Write down Record As Row in msExcel 
        RangeE := PreviewToExcel.Range['A' + IntToStr(Row), 'A' + IntToStr(Row)]; 
        for I := 0 to aDataSet.Fields.Count - 1 do 
        begin 
          RangeE.Value := aDataSet.Fields[I].AsString; 
          RangeE := RangeE.Next; 
        end; 
        aDataSet.Next; 
        Inc(Row); 
      end; 
    finally 
      aDataSet.Bookmark := Bookmark; 
    end; 
  finally 
    aDataSet.EnableControls; 
  end; 

  //Creating Preview from Range A1..ColumnX 
  //Calculating ASCII 64 (Character Before "A") With Dataset FieldsCount 
  //This Method can only handle range A1..Z?, if want to be excel column type 
  //support, exp "AA"/"IV" 
  RangeE := PreviewToExcel.Range['A1', chr(64 + aDataSet.Fields.Count) + IntToStr(Row - 1)]; 

  RangeE.AutoFormat(8, NULL, NULL, NULL, NULL, NULL, NULL); 
  PreviewToExcel.Visible[0] := True; 
  PreviewToExcel.Disconnect; 
end; 


// Beispiel: 
// Example: 
procedure TForm1.Button1Click(Sender: TObject); 
begin 
  SendToExcel(Table1); 
end;





Похожие по теме исходники

Экспорт баз данных в Excel

Transfer Tables Excel-Access

Excel Films Lister

Work with Word and Excel

 

Чтение PSD файлов

Шифратор файлов

Разбиение файла на части

Поиск файлов

 

FileMan (менеджер файлов)

Поиск открытых файлов

Текст внутри файла




Copyright © 2004-2025 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте