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

Вниз

Добавление данных из Query в Excel   Найти похожие ветки 

 
AlexDok ©   (2003-11-06 10:57) [0]

Здравствуйте мастера. Подскажите, как в имеющийся файл Excel (шаблон) добавить данные из Query. Если можно примерчик. Спасибо.


 
vovchik ©   (2003-11-06 11:03) [1]

это добавление данных из Grida но переделдаешь и будет из Query вставлять, по идее код рабочий, БЫЛ

procedure TForm4.Button1Click(Sender: TObject);
var
ExcelApp, Workbook, Range, Cell1, Cell2, ArrayData : Variant;
TemplateFile : String;
BeginCol, BeginRow : integer;
RowCount, ColCount, i, j : integer;
begin
// Координаты левого верхнего угла области, в которую будем выводить данные
BeginCol := 1;
BeginRow := 5;

// Размеры выводимого массива данных
RowCount := dbgrid1.Columns.Count;
ColCount := dbgrid1.FieldCount;

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

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

// Создаем Книгу (Workbook)
// Если заполняем шаблон, то
//Workbook := ExcelApp.WorkBooks.Add("C:\MyTemplate.xls");
Workbook := ExcelApp.WorkBooks.Add;

// Создаем Вариантный Массив, который заполним выходными данными
ArrayData := VarArrayCreate([1, RowCount, 1, ColCount], varVariant);

// Заполняем массив
for I := 1 to 10 do //
for J := 1 to 10 do // ColCount
ArrayData[RowCount, J] := J + I;

// Левая верхняя ячейка области, в которую будем выводить данные
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;


 
Кулюкин Олег ©   (2003-11-06 11:07) [2]

http://www.delphikingdom.ru/helloworld/excelsm.htm


 
AlexDok ©   (2003-11-06 18:28) [3]

Спасибо всем, кто ответил. С выходными Вас, господа.



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

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

Наверх




Память: 0.47 MB
Время: 0.022 c
1-89950
avkar
2003-11-17 22:22
2003.11.27
проблемы с dll


8-90011
[BAD]Angel
2003-07-31 13:40
2003.11.27
Вопрос по изображению


3-89725
Digester
2003-11-10 03:15
2003.11.27
Проблемка с вытаскиванием фото из БД Interbase


3-89757
vova
2003-11-07 21:30
2003.11.27
нарастание значения


1-89809
NewD
2003-11-17 11:09
2003.11.27
Как реализовать динамический массив через указатели