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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 07.10.2009, 08:11   #1
DuM4uK
Пользователь
 
Регистрация: 29.09.2009
Сообщений: 32
По умолчанию Конвертация бд(paradox,dbase) в Excel

Здравствуйте уважаемые форумчане.

Вот такоя проблемка, нашол в сети исходник по конвертации БД в excel. Все работает прекрасно, НО данные выводятся без названия полей, т.е без шапки.

Подскажите пожалуйста что нужно дописать, чтобы выводились название полей.

Заранее благодарен.
Вот код:
Цитата:
procedure TForm1.BtnExportClick(Sender: TObject);
var
XL, XArr: Variant;
i: Integer;
j: Integer;
begin
{не забудьте включить ComObj в список используемых модулей}
// Создаем массив элементов, полученных в результате запроса
XArr:=VarArrayCreate([1,TableDB.FieldCount],varVariant);
XL:=CreateOLEObject('Excel.Applicat ion'); // Создание OLE объекта
XL.WorkBooks.add;
XL.visible:=true;

j := 1;
TableDB.First;
while not TableDB.Eof do
begin
i:=1;
while i<=TableDB.FieldCount do
begin
XArr[i] := TableDB.Fields[i-1].Value;
i := i+1;
end;
XL.Range['A'+IntToStr(j),
CHR(64+TableDB.FieldCount)+IntToStr (j)].Value := XArr;
TableDB.Next;
j:=j+1;
end;
XL.Range['A1',CHR(64+TableDB.FieldCount)+Int ToStr(j)].select;
// XL.cells.select; // Выбираем все
XL.Selection.Font.Name:='Arial cur';
XL.Selection.Font.Size:=10;
XL.selection.Columns.AutoFit;
XL.Range['A1','A1'].select;
end;
Вот исходник:
Вложения
Тип файла: zip exp_db_to_excel.zip (10.0 Кб, 27 просмотров)

Последний раз редактировалось DuM4uK; 07.10.2009 в 08:41.
DuM4uK вне форума
Старый 07.10.2009, 10:17   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Код:
begin
 {не забудьте включить ComObj в список используемых модулей}
 // Создаем массив элементов, полученных в результате запроса
 XArr:=VarArrayCreate([1,TableDB.FieldCount],varVariant);
 XL:=CreateOLEObject('Excel.Application');     // Создание OLE объекта
 XL.WorkBooks.add;
 XL.visible:=true;

 for i := 0 to TableDB.FieldCount - 1 do begin
   XL.Cells[1,i+1].Value := TableDB.Fields[i].FieldName;
 end;
 XL.Range['A1',CHR(64+TableDB.FieldCount)+'1'].Font.Bold := True;

 j := 1;
 TableDB.First;
 while not TableDB.Eof do
  begin
   i:=1;
   while i<=TableDB.FieldCount do
    begin
     XArr[i] := TableDB.Fields[i-1].Value;
     i := i+1;
    end;
   XL.Range['A'+IntToStr(j+1),
   CHR(64+TableDB.FieldCount)+IntToStr(j+1)].Value := XArr;
   TableDB.Next;
   j:=j+1;
  end;
 XL.Range['A1',CHR(64+TableDB.FieldCount)+IntToStr(j+1)].select;
 // XL.cells.select;                     // Выбираем все
 XL.Selection.Font.Name:='Arial cur';
 XL.Selection.Font.Size:=10;
 XL.selection.Columns.AutoFit;
 XL.Range['A1','A1'].select;
end;
Serge_Bliznykov вне форума
Старый 07.10.2009, 10:24   #3
DuM4uK
Пользователь
 
Регистрация: 29.09.2009
Сообщений: 32
Радость

Спасибо большое Serge_Bliznykov все работает,то что нужно.
DuM4uK вне форума
Старый 07.10.2009, 11:09   #4
Evgeniy26
Форумчанин
 
Аватар для Evgeniy26
 
Регистрация: 29.05.2009
Сообщений: 384
По умолчанию

Интересно, а такой вариант прокатит с бд(paradox,dbase) http://delphikingdom.ru/asp/viewitem.asp?catalogid=1412.
Evgeniy26 вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Очистка БД dbase ИВАНьКа Общие вопросы C/C++ 12 28.08.2009 12:28
Работа с базами разных типов (Paradox & dBase) Nidom БД в Delphi 12 18.02.2009 10:30
Конвертация Excel в PDF Enmash Софт 4 15.09.2008 14:34
фильтрация в dbase vet_coder БД в Delphi 7 29.11.2007 16:02