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

•  DeLiKaTeS Tetris (Тетрис)  2 516

•  TDictionary Custom Sort  4 755

•  Fast Watermark Sources  4 508

•  3D Designer  6 910

•  Sik Screen Capture  4 807

•  Patch Maker  5 299

•  Айболит (remote control)  5 308

•  ListBox Drag & Drop  4 196

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

•  Графические эффекты  5 473

•  Рисование по маске  4 510

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

•  Canvas Drawing  4 071

•  Рисование Луны  3 826

•  Поворот изображения  3 359

•  Рисование стержней  2 953

•  Paint on Shape  2 188

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

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

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

•  Пазл Numbrix  2 072

•  Заборы и коммивояжеры  2 713

•  Игра HIP  1 694

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

•  Симулятор лифта  1 928

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

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

•  Проверка числового ввода  1 790

•  HEX View  2 037

•  Физический маятник  1 789

 
скрыть


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

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



Delphi Sources

Как из DBGrid перенести данные в существующий Excel файл



Автор: xUSSR

Во время раскопок в Америке были найдены кусочки медной проволоки. После долгих исследований было выяснено, что это - остатки древней кабельной сети, которой пользовались индейцы. Во время раскопок в Германии были найдены кусочки стекла. После долгих исследований было выяснено, что это - остатки оптоволоконной сети древних нибелунгов. В России долго копали, копали, копали... и не нашли ничего. Так было выяснено, что древние славяне пользовались спутниковой связью.


//Если не обезательно из DBGrid-а... то вот пример из Query ...
// Если есть вопросы то ¹ ACQ 134087719

// имя файла шаблона и откуда (можно TTable)
Procedure SendtoExcel(ShFile: String; Querys: TQuery);
Var
   ExcelApp, Workbook, Range, Cell1, Cell2, ArrayData: Variant;
   BeginCol, BeginRow, j: integer;
   RowCount, ColCount: Integer;
Begin
   BeginCol := 1;
   BeginRow := 3;

 // Размеры выводимого массива данных
   RowCount := Querys.RecordCount;
   ColCount := Querys.FieldDefs.Count;

 // Создание Excel
   ExcelApp := CreateOleObject('Excel.Application');

 // Отключаем реакцию Excel на события, чтобы ускорить вывод информации
   ExcelApp.Application.EnableEvents := false;

 //  Создаем Книгу (Workbook)
 //  Если заполняем шаблон, то
   Workbook := ExcelApp.WorkBooks.Add(ShFile);
   ArrayData := VarArrayCreate([1, RowCount, 1, ColCount], varVariant);

 // Заполняем массив
   Querys.DisableControls;
   Querys.First;
   While Not Querys.eof Do
   Begin
       For J := 1 To Querys.FieldDefs.Count Do
       Begin
           ArrayData[Querys.RecNo, J] :=
            Querys.FieldbyName(Querys.FieldDefs.Items[j - 1].DisplayName).value;
       End;
       Querys.Next;
   End;

   Querys.EnableControls;

//     Левая верхняя ячейка области, в которую будем выводить данные
   Cell1 := WorkBook.WorkSheets[1].Cells[BeginRow, BeginCol];
 // Правая нижняя ячейка области, в которую будем выводить данные
   Cell2 := WorkBook.WorkSheets[1].Cells[BeginRow + RowCount - 1,
    BeginCol + ColCount - 1];

 // Область, в которую будем выводить данные
   Range := WorkBook.WorkSheets[1].Range[Cell1, Cell2];

 // А вот и сам вывод данных
 // Намного быстрее поячеечного присвоения
   Range.Value := ArrayData;

 // Делаем Excel видимым
   ExcelApp.Visible := True;
End;





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

cyDBGrid

Cell Hint in DBGrid

Примеры оформления DBGrid

Пример использования DBGrid

 

Экспорт баз данных в 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

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