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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.01.2011, 02:34   #1
den945
Новичок
Джуниор
 
Регистрация: 09.01.2011
Сообщений: 2
По умолчанию Excel в Delphi

Пытаюсь обработать документ Exel в Delphi при помощи технологии ADO. Но при запуске любого проекта с любым компонентом ADO возникает ошибка "Project Project1.exe raised exception class EOleException with message 'Разрушительный сбой'.Process stopped. Use Step or Run to continue.". Облазил кучу форумов, но ответа не нашел. Подскажите плиз!!!
den945 вне форума Ответить с цитированием
Старый 09.01.2011, 03:16   #2
AJlEKCA
Пользователь
 
Регистрация: 09.12.2010
Сообщений: 17
По умолчанию

Цитата:
Сообщение от den945 Посмотреть сообщение
Пытаюсь обработать документ Exel в Delphi при помощи технологии ADO. Но при запуске любого проекта с любым компонентом ADO возникает ошибка "Project Project1.exe raised exception class EOleException with message 'Разрушительный сбой'.Process stopped. Use Step or Run to continue.". Облазил кучу форумов, но ответа не нашел. Подскажите плиз!!!
что именно ты хочешь получить? чтобы информация с формы Delphi передавалсь в Exel или форматировать полученный документ?
AJlEKCA вне форума Ответить с цитированием
Старый 09.01.2011, 03:53   #3
den945
Новичок
Джуниор
 
Регистрация: 09.01.2011
Сообщений: 2
По умолчанию

Цитата:
Сообщение от AJlEKCA Посмотреть сообщение
что именно ты хочешь получить? чтобы информация с формы Delphi передавалсь в Exel или форматировать полученный документ?
Я вообще ничего не могу сделать, даже простейшую программу из трех компонетов DBGrid, DataSourse и ADOTable связанного с документом *.xls выходит эта ошибка. И так со всеми компонентами палитры ADO. Я даже в программном коде ничего не пишу. Только в директиву uses добавляю ComObj.
den945 вне форума Ответить с цитированием
Старый 09.01.2011, 04:08   #4
AJlEKCA
Пользователь
 
Регистрация: 09.12.2010
Сообщений: 17
По умолчанию

Цитата:
Сообщение от den945 Посмотреть сообщение
Я вообще ничего не могу сделать, даже простейшую программу из трех компонетов DBGrid, DataSourse и ADOTable связанного с документом *.xls выходит эта ошибка. И так со всеми компонентами палитры ADO. Я даже в программном коде ничего не пишу. Только в директиву uses добавляю ComObj.
значит у тебя есть DBGrid с информацией из базы данных и ты из него хочешь передать данные в Excel?
если так то в uses надо добавить еще Excel2000, ADOTable с документом не связывай, а в процедуре код
Код:
OE1:=CreateOleObject('Excel.Application'); //СоздатьOLE-объект Excel
OE1.WorkBooks.Add();                      // Создать рабочую книгу Excel
OE1.Visible:=True;                         // Сделать Excel видимым
//Занести в ячейку значение- напечатать заголовок отчета
OE1.Cells[1,1].Value:='Сведения о количестве лекарств на складе';
OE1.Cells[2,1].Value:='№ п/п';
OE1.Cells[2,2].Value:='Наименование лекарства';
OE1.Cells[2,3].Value:='Цена, руб';
OE1.cells[2,4].value:='Количество';
OE1.cells[2,5].value:='Сумма, руб';
istr:=3;                           // Номер строки
DataModule1.ADOQuery1.First;                //Перейти на первую запись
while not DataModule1.ADOQuery1.Eof do  // Пока не будет достигнут конец файла
begin
//Заносить в ячейку Excel содержимое полей
OE1.Cells[istr,1].Value:= DataModule1.ADOQuery1.FieldByName('npoz') .Value;
OE1.Cells[istr,2].Value:= DataModule1.ADOQuery1.FieldByName('naimen') .Value;
OE1.Cells[istr,3].Value:= DataModule1.ADOQuery1.FieldByName('cena').Value;
OE1.cells[istr,4].value:= DataModule1.ADOQuery1.FieldByName('kol').Value;
OE1.Cells[istr,5].Value:= DataModule1.ADOQuery1.FieldByName('s1') .Value;
DataModule1.ADOQuery1.Next;        //Перейти на следующую запись
istr:=istr+1;                         //Увеличить номер строки
end;
OE1.cells[istr,1].value:='Итого, руб';
OE1.cells[istr,5].value:='=SUM(E3:E'+inttostr(istr-1)+')'; //Посчитать сумму
OE1.Range['A1:A'+inttostr(istr-1)].Select;//выбрать и изменить ширину столбцов
OE1.Selection.ColumnWidth:=13;
OE1.Range['B1:B'+inttostr(istr-1)].Select;
OE1.Selection.ColumnWidth:=30;
OE1.Range['C1:E'+inttostr(istr-1)].Select;
OE1.Selection.ColumnWidth:='13';
OE1.Range['A3:E'+IntToStr(istr)].Select;//выбрать и изменить обрамление ячеек
OE1.Selection.Borders[xlEdgeLeft].LineStyle:=xlContinuous;
OE1.Selection.Borders[xlEdgeRight].LineStyle:=xlContinuous;
OE1.Selection.Borders[xlEdgeTop].LineStyle:=xlContinuous;
OE1.Selection.Borders[xlEdgeBottom].LineStyle:=xlContinuous;
OE1.Selection.Borders[xlInsideVertical].LineStyle:=xlContinuous;
OE1.Selection.Borders[xlInsideHorizontal].LineStyle:=xlContinuous;
OE1.ActiveSheet.PageSetup.LeftMargin:= 12.78;//изменить границы печати
OE1.ActiveSheet.PageSetup.RightMargin := 12.78;
OE1.ActiveSheet.PageSetup.TopMargin := 12.78;
OE1.ActiveSheet.PageSetup.BottomMargin := 12.78;
OE1.ActiveSheet.PageSetup.Orientation := xlLandscape;//изменить ориентацию печати
OE1.ActiveSheet.PageSetup.Zoom := False ;
OE1.ActiveSheet.PageSetup.FitToPagesWide := 1; //расположить на 1 странице по ширине
OE1.ActiveSheet.PageSetup.FitToPagesTall := 10;// расположить на 10 страницах по высоте
OE1.ActiveSheet.PageSetup.RightFooter := DateToStr(Date) ; //правый колонтитул внизу
OE1.ActiveSheet.PrintPreview; //предварительный просмотр
тут тебе полностью как заносить и форматировать) не знаю что из этого тебе понадобится, сам решишь)
AJlEKCA вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi Excel (сохранение записи в Excel) Кас Алина Общие вопросы Delphi 4 28.05.2010 09:17
Excel + Delphi 7 lastalert Общие вопросы Delphi 6 19.03.2010 10:26
как при импорте из Excel в delphi узнать сколько заполненных строк в книге Excel?чтобы организовать цикл betirsolt БД в Delphi 1 17.01.2010 18:51
Delphi ->Excel->График по таблице->Delphi Avalonix БД в Delphi 2 30.10.2008 14:04
Delphi и Excel Dimon Win Api 1 24.02.2007 20:00