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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.08.2012, 21:56   #1
reihtmonbern
Форумчанин
 
Регистрация: 08.01.2011
Сообщений: 102
По умолчанию Отчет из бд в excel генерация сводной таблицы

Здравствуйте хочу вам презентовать скаченную из интернета супер мега шпегу программу суть вопроса такова проект реализован под delphi 7 а как его переделать в delphi 2010 не знаю точнее в 7 ой версиии просто использован компонент TExcelApplication а как вы знаете этого компонента нет в 10 версии там с офисом приходиться работать через олесервер так вот заговстка в том что мне не хватает ума (знаний) как код переделать правильно ?? помогите пожалуйста ?!
Вложения
Тип файла: zip PivotTable.zip (659.3 Кб, 49 просмотров)
reihtmonbern вне форума Ответить с цитированием
Старый 27.08.2012, 22:52   #2
Скандербег
Форумчанин
 
Регистрация: 04.04.2009
Сообщений: 438
По умолчанию

Нет ничего проще.
При загрузке проекта в Д2010 на недоумения среды: "класс TExcelApplication не найден. Игнорировать ошибку и продолжать?". Сказать "Игнорировать".
Затем в тексте проделать несложные изменения:
Код:
type
  TForm1 = class(TForm)
    btnReport: TButton;
    procedure btnReportClick(Sender: TObject);
  private
    XLS: TExcelApplication;
  public
  end;

...
procedure TForm1.btnReportClick(Sender: TObject);
var
     WB:_WorkBook;
     WS:_WorkSheet;
     PC:PivotCache;
     PT:PivotTable;
     i:byte;
begin
  XLS := TExcelApplication.Create(nil);
     try
...
     finally
          XLS.EnableEvents:=True;
          PT.ManualUpdate:=True;
          btnReport.Enabled:=True;
          XLS.Interactive[LCID]:=True;
          XLS.Disconnect;
       XLS.Free;
     end;
end;
Создание экземпляра класса и его уничтожение лучше, конечно, делать в отдельных процедурах. Например, в обработчиках событий OnCreat (создание) и OnClose (освобождение памяти). Потому как метод Free не только освободит память от экземпляра класса но и закроет ексель. Но если это не противоречит логике проекта, то можно оставить и здесь.
Скандербег вне форума Ответить с цитированием
Старый 28.08.2012, 20:41   #3
reihtmonbern
Форумчанин
 
Регистрация: 08.01.2011
Сообщений: 102
По умолчанию Синдром Гомера Симпсона

Здравствуйте ещё раз у меня проблемка короче я переделал проект как сказали вот начинаю теперь его адаптировать под свою базу и ни получается ничего точнее получается просто пустой шаблон сводной таблицы без данных и ещё + кака е то ошибка из за экселя
Вложения
Тип файла: rar Table.rar (821.8 Кб, 26 просмотров)
reihtmonbern вне форума Ответить с цитированием
Старый 29.08.2012, 01:44   #4
Скандербег
Форумчанин
 
Регистрация: 04.04.2009
Сообщений: 438
По умолчанию

Ни чего у тебя паря не получится из за не понимания что за pivot table в примере совсем другая структура а pivot это когда данные назначаются заголовками но не все а частично брось это дохлое дело и экспортируй нормально без этой pivot фигни.
Скандербег вне форума Ответить с цитированием
Старый 29.08.2012, 08:40   #5
reihtmonbern
Форумчанин
 
Регистрация: 08.01.2011
Сообщений: 102
По умолчанию

Цитата:
Сообщение от Скандербег Посмотреть сообщение
Ни чего у тебя паря не получится из за не понимания что за pivot table в примере совсем другая структура а pivot это когда данные назначаются заголовками но не все а частично брось это дохлое дело и экспортируй нормально без этой pivot фигни.
Но мне очень нужна сводная таблица такая форма отчета !?
Короче как ты наверное понял из sql запроса у меня там слово договор дублируется многократно вот ... я бы хотел как в сводной таблице что бы те наименования которые соответствуют договору под него выстроились.
Я конечно эту задачу решил двумя способами через генератор отчетов FastReport и просто экспортом через адоквери в эксель с дублирующими строками договор а потом в эксель я макрос намутил который из этих данных делает сводную таблицу но одно но этот способ весьма не надежен работает глючно . Хотелось бы культурно высокопрофессионально решить эту задачу как в данном примере ... ! ) что бы все работало наверняка..
reihtmonbern вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Расположение сводной таблицы Even Microsoft Office Excel 2 07.11.2011 11:26
формирование сводной таблицы ЦЕРЦЕЯ Microsoft Office Excel 1 19.10.2010 22:17
экспорт сводной таблицы в excel satway Microsoft Office Access 1 20.06.2010 19:34
Данные из двух полей исх. таблицы в одно поле сводной таблицы Strelec79 Microsoft Office Excel 2 02.08.2009 13:59
Форматирование сводной таблицы eda Microsoft Office Excel 1 23.07.2009 11:16