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

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

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

Восстановить пароль

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 09.11.2009, 14:05   #1
Betmen
 
Регистрация: 24.02.2009
Сообщений: 6
По умолчанию ADOQuery выгрузить в эксель...

все банально просто если бы не мелочи...
есть 1(!) таблица на сотрудников...поля отдел, кабинет, ФИО, телефон..
делаем запрос через АДОКвери.
надо организовать (а не "замутить") экспорт в эксель-таблицу из адо:
примерно вот такая таблица на выходе

Отдел абвгдэйка
каб.104 Иванов иван иваныч 333-22-11
каб.105 Иванов иван иваныч 333-22-12
каб.101 Иванов иван иваныч 333-22-13
Отдел IT
каб.102 Пупкин иван иваныч 333-22-00
каб.107 Пупкин Костя иваныч 333-22-04
каб.106 Пупкин Игорь иваныч 333-22-02

так вот, каждая запись доложна занимать строку в три ячейки (каб., ФИО, Тел.), строки группированы по отделу и перед группой строк с одинаковым значением поля ОТДЕЛ объединяем ячейки в строке и пишем туда название отдела, где эти сотрудники...
проблема возникла как объединить строку с названием отдела

вот что пока наработал...в АДОКвери1.СКУЛЬ написано селект * имя_таблицы

Код:
procedure TForm1.BitBtn1Click(Sender: TObject);
var
  XLApp, Sheet, Colum, row:Variant;
  index:Integer;
begin
  XLApp:= CreateOleObject('Excel.Application');
  XLApp.Visible:=true;
  XLApp.Workbooks.Add(-4167);
  XLApp.Workbooks[1].WorkSheets[1].Name:='1';
//изменяем ширину столбцов
  Colum:=XLApp.Workbooks[1].WorkSheets['1'].Columns;
  Colum.Columns(1).ColumnWidth:=20;
  Colum.Columns[2].ColumnWidth:=20;
  Colum.Columns[3].ColumnWidth:=20;
  Colum.Columns[4].ColumnWidth:=20;
//формат текста в первой строке
  Row:=XLApp.Workbooks[1].WorkSheets['1'].Rows;
  Row.Rows[1].Font.Bold:=true;
  Row.Rows[1].Font.Color:=clBlue;
  Row.Rows[1].Font.Size:=14;

  Sheet:=XLApp.Workbooks[1].WorkSheets['1'];
//заполняем ШАПКУ
  Sheet.Cells[1,1]:='каб';
  Sheet.Cells[1,2]:='фио';
  Sheet.Cells[1,3]:='тел';
  index:=2;
  ADOQuery1.First;
//заполняем строки циклом "пока не кончились строки в квери"
  while not ADOQuery1.EOF do
  begin

    Sheet.cells[index,2]:=ADOQuery1.Fields[2].AsString;//каб
    Sheet.cells[index,3]:=ADOQuery1.Fields[3].AsString;//фио
    Sheet.cells[index,4]:=ADOQuery1.Fields[4].AsString;//тел

    Inc(index);
    ADOQuery1.Next;
  end;

end;
Давайте писать на нормальном русском языке.
Вы не в подъезде с дружками общаетесь, а находитесь на серьезном форуме...

Последний раз редактировалось mihali4; 10.11.2009 в 12:39.
Betmen вне форума
Старый 10.11.2009, 12:09   #2
monushka
Форумчанин
 
Аватар для monushka
 
Регистрация: 26.10.2007
Сообщений: 112
По умолчанию

Объединение ячеек осуществляется с помощью свойства Merge. Например, вот так:

Код:
E.ActiveSheet.Range['A3:C4', EmptyParam].Merge(True);
Вообще советую Вам эту ссылку, здесь есть ответы на многие вопросы, связанные с редактированием Excel посредством Delphi.
If you wanna make the world a better place take a look at yourself and then make a change!
monushka вне форума
Старый 11.11.2009, 12:06   #3
Betmen
 
Регистрация: 24.02.2009
Сообщений: 6
По умолчанию спасипа

насчет русского языка...так проще, это щитается жаргонными выражениями...спасибо за помощь, но как-то на форуме негусто стало...просто пока написали ответ, я сам нашел и все сделал...всем спасибо)
Betmen вне форума
Старый 11.11.2009, 18:47   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Это - не жаргон. Это пошлое юношеско-прыщавое выпендривание.
mihali4 вне форума
Закрытая тема


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как выгрузить сайт в интернет steck Свободное общение 18 22.02.2011 13:47
Помогите советом! Как выгрузить форму из памяти? Bezdar Microsoft Office Excel 18 08.05.2009 13:06
выгрузить из Ttable anton14 Общие вопросы Delphi 5 09.09.2008 20:43
Программно выгрузить DLL из памяти Air Помощь студентам 7 01.05.2008 00:06
как выгрузить базу данных из MySQL в Access??? TRANE Помощь студентам 5 03.12.2007 13:22