Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.10.2006, 23:55   #1
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию сохранение данных в xls

перенесено со старого форума. сообщение от mne.

задача следующая. Необходимо из dbgrid сохранить данные в файл xls
делаю так
Код:
fileName:='c:\1.xls'; 
Exl := CreateOleObject('Excel.Application'); 
Exl.Application.EnableEvents := false; 
WorkBook := exl.Application.WorkBooks.Add; 
Sheet := WorkBook.WorkSheets[1]; 
str:=form1.DBGrid1.DataSource.DataSet.RecordCount; 
sto:=form1.DBGrid1.Columns.Count; 
for i:=1 to str do 
for k:=0 to sto-1 do 
begin 
form1.DBGrid1.DataSource.DataSet.RecNo:=i; 
WorkBook.WorkSheets[1].Cells[i, k+1]:=DBGrid1.Columns[k].Field.value; 
end; 
exl.Application.ActiveWorkBook.Saveas(fileName); 
finally 
Sheet := Unassigned; 
WorkBook := Unassigned; 
Exl.Application.Visible := true; 
Exl := Unassigned; 
end; 
end;
сначала все работало а потом стала выдавать ошибку
"Конфигурация операционной системы не расчитана на запуск этого приложения"
в чем проблема, помогите

перенесено со старого форума. сообщение от mne.

Нашел проблему, после исполнения кода не убивается процесс exel постоянно висит в памяти, как его завершить после выполнения кода.

перенесено со старого форума. сообщение от mne.

Код:
str,sto,i,k: integer; 
exl: olevariant; 
WorkBook, Sheet: Variant; 
FileName,s: String; 
f: textfile; 
begin 
try 
fileName:='c:\1.xls'; 
Exl := CreateOleObject('Excel.Application'); 

WorkBook := exl.Application.WorkBooks.Add; 
Sheet := WorkBook.WorkSheets[1]; 

str:=form1.DBGrid1.DataSource.DataSet.RecordCount; 
sto:=form1.DBGrid1.Columns.Count; 
for i:=1 to str do 
for k:=0 to sto-1 do 
begin 
form1.DBGrid1.DataSource.DataSet.RecNo:=i; 
WorkBook.WorkSheets[1].Cells[i, k+1]:=DBGrid1.Columns[k].Field.value; 

end; 

exl.Application.ActiveWorkBook.Saveas(fileName); 
finally 

exl.application.quit; 

end; 
end;

Последний раз редактировалось artemavd; 20.09.2011 в 17:55.
Alar вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ввод данных и параллельное их сохранение в файл в С Grind Помощь студентам 1 23.04.2008 22:36
сохранение данных в массиве ratibor32 Общие вопросы C/C++ 1 04.01.2008 12:44
сохранение данных - не представляю как samosval Общие вопросы .NET 1 17.12.2007 22:49
Сохранение данных в таблице Таня84 БД в Delphi 7 04.03.2007 02:44
Сохранение и загрузка узлов TreeView из базы данных Ko$tello Компоненты Delphi 1 14.11.2006 17:15