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

Вниз

Exell и база данных   Найти похожие ветки 

 
KidMan ©   (2002-09-30 22:24) [0]

Здравствуйте!
Скажите пожалуйста как связаться с каким нить документом екселя и заполнить определенные ячейки его данными... не важно какими... пусто то бум строки из БД или просто значения каких то переменных...?
Заранее благодарю Мастера!


 
KidMan ©   (2002-09-30 23:55) [1]

Ребят... правда горю... хелп плиииз!


 
Рыжик ©   (2002-10-01 08:50) [2]

http://www.afalinasoft.com/rus/tips/index.html


 
V-A-V   (2002-10-01 09:39) [3]

Попробуй библиотеку для работы с Wodr и Excel
http://vdovin-av.narod.ru/moduls.html


 
kkot   (2002-10-01 09:54) [4]

http://www.delphikingdom.com/hellowolrd/excelsm.htm


 
Lakich ©   (2002-10-01 13:11) [5]

//********сначала определим-установлен ли Ексел вообще на данной машине:
if not Form1.IsOLEObjectInstalled("Excel.Application") then
begin
Application.MessageBox("Excel не установлен,экспорт
невозможен !!!"+#13+"Обратитесь к
программистам.","Информация",0);
exit;
end;
//********
// Координаты левого верхнего угла области, в которую будем выводить данные
BeginCol := 1;
BeginRow := 15;
ColCount := 14;
C:=14;
// Создание Excel
XlAp := CreateOleObject("Excel.Application");
// Отключаем реакцию Excel на события, чтобы ускорить вывод информации
XlAp.Application.EnableEvents := false;
// Создаем Книгу (Workbook)
TempWay:=GetCurrentDir+"\Template\";//путь к шаблону
Workbook := XlAp.WorkBooks.Add(TempWay+"Имяфайла.xls");
// Размеры выводимого массива данных
RowCount := Table(или DataSource).RecordCount;
R:=odsGraphPrint.RecordCount;
// Создаем Вариантный Массив, который заполним выходными данными
TabGrid := VarArrayCreate([1, RowCount+1, 1, ColCount], varVariant);
Table.First;i:=0;//Заполняем массив данными
while not Table.Eof do
begin
Inc(i,1);
TabGrid[i,1]:=Table.FieldByName("имя поля").value;
.........
Table.Next;
end;

// Левая верхняя ячейка области, в которую будем выводить данные
Cell1 := WorkBook.WorkSheets[1].Cells[BeginRow, BeginCol];
// Правая нижняя ячейка области, в которую будем выводить данные
Cell2 := WorkBook.WorkSheets[1].Cells[BeginRow + RowCount, BeginCol +
ColCount - 1];
// Область, в которую будем выводить данные
Range := WorkBook.WorkSheets[1].Range[Cell1, Cell2];
Range.Value :=TabGrid ;//сам вывод
// Делаем Excel видимым
XlAp.Visible := true;
TabGrid:=UnAssigned;//убираем из памяти массив

//сама функция для определения установлен ли Ексел
function TfmMain.IsOLEObjectInstalled(Name: String): boolean;
var
ClassID: TCLSID;
Rez : HRESULT;
begin
// Ищем CLSID OLE-объекта
Rez := CLSIDFromProgID(PWideChar(WideString(Name)), ClassID);

if Rez = S_OK then // Объект найден
Result := true
else
Result := false;
end;
//ОБЯЗАТЕЛЬНО Uses ComObj,ActiveX,Excel97!!!!!
ну и конечно
var XlAp, Workbook, Range, Cell1, Cell2, TabGrid,R,C : Variant;



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

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

Наверх




Память: 0.48 MB
Время: 0.016 c
3-31655
AlexSN
2002-09-20 04:18
2002.10.10
не получается вставить Combobox в DBGrid (HELP!!!)


4-32098
vaa
2002-08-25 09:36
2002.10.10
winapi


14-31952
lipskiy
2002-09-13 23:25
2002.10.10
Программная модель работы железа. Тип с двумя полями данных.


1-31706
Begin
2002-10-01 02:11
2002.10.10
К вопросу о динамическом массиве ....


14-31950
Солнышко
2002-09-13 10:57
2002.10.10
Здесь есть неженатые?