Форум: "Основная";
Текущий архив: 2002.10.10;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c