Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.06.27;
Скачать: CL | DM;

Вниз

Как из DBGrid-а перенести данные в существующий файл Excel ?   Найти похожие ветки 

 
kioto   (2002-06-01 20:27) [0]

и что бы работало под 97 и 2000 Excel-ем, нужен код процедуры


 
xUSSR ©   (2002-06-02 13:17) [1]

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

Procedure SendtoExcel(ShFile: String; Querys: TQuery); //имя файла шаблона и откуда (можно TTable)
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;



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

Текущий архив: 2002.06.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
1-88856
Vasya!
2002-06-17 18:32
2002.06.27
Где можно найти инфу, как юзать LISTVIEW?


3-88748
PSZ
2002-06-03 12:52
2002.06.27
Есть ли бесплатные компоненты для работой с БД без BDE ?


14-89034
Loxly
2002-05-25 18:28
2002.06.27
Сколько стоит то, что мы берем бесплатно?


1-88938
Wolverin
2002-06-15 15:37
2002.06.27
Ресурсы и AVI


14-88998
cyborg
2002-05-22 21:28
2002.06.27
Гы?