Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Можно ли писать из ДБГрид в ексель файл? возможно ли такое 
:(
    Опции темы
EvilProgrammer
Дата 15.6.2007, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 18.7.2006

Репутация: нет
Всего: нет



Начинающий программист.
Собсно проблема следующая.  smile 

Необходимо создать отчет и сохранить его в Экселевском файле.
Для того, что бы не возникало каких либо проблем и можно было просмотреть данные, которые заносятся в файл, я решил их отображать.

Через невероятную кучу Эдитов, каждый из которых соответсвует определенной переменной.  Сейчас такой вариант программы, правда еще в незавершенном виде у меня есть и он насчитывает около 90 переменных. Программа довольно таки громоздкая, и если честно приходится каждый раз внимательно проверять соответствие и потом каждое значение отдельно заносить в соответсвующую ячейку. В данном случае я использу ADOConnection и один единственный запрос ADOQuery.

У меня родился этот вопрос, к тем кто уже занимался подобными задачами, можно ли как-либо еще отобразить информацию (например у меня была идея с ДБГрид, однако с релазацией пока сложно).

Заранее благодарен за помощь. smile 

Это сообщение отредактировал(а) EvilProgrammer - 15.6.2007, 11:14
PM MAIL   Вверх
Rodman
Дата 15.6.2007, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 22
Всего: 122



PM MAIL WWW Skype GTalk YIM MSN   Вверх
Sax
Дата 24.6.2007, 11:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 14.4.2007

Репутация: нет
Всего: нет



Из DRKB функция экспорта в excel

function RefToCell(ARow, ACol: Integer): string;
begin
  Result := Chr(Ord('A') + ACol - 1) + IntToStr(ARow);
end;
 
function SaveAsExcelFile(AGrid: TStringGrid; ASheetName, AFileName: string): Boolean;
const
  xlWBATWorksheet = -4167;
var
  Row, Col: Integer;
  GridPrevFile: string;
  XLApp, Sheet, Data: OLEVariant;
  i, j: Integer;
begin
  // Prepare Data 
Data := VarArrayCreate([1, AGrid.RowCount, 1, AGrid.ColCount], varVariant);
  for i := 0 to AGrid.ColCount - 1 do
    for j := 0 to AGrid.RowCount - 1 do
      Data[j + 1, i + 1] := AGrid.Cells[i, j];
  // Create Excel-OLE Object 
Result := False;
  XLApp := CreateOleObject('Excel.Application');
  try
    // Hide Excel 
   XLApp.Visible := False;
    // Add new Workbook 
   XLApp.Workbooks.Add(xlWBatWorkSheet);
    Sheet := XLApp.Workbooks[1].WorkSheets[1];
    Sheet.Name := ASheetName;
    // Fill up the sheet 
   Sheet.Range[RefToCell(1, 1), RefToCell(AGrid.RowCount,
      AGrid.ColCount)].Value := Data;
    // Save Excel Worksheet 
   try
      XLApp.Workbooks[1].SaveAs(AFileName);
      Result := True;
    except
      // Error ? 
   end;
  finally
    // Quit Excel 
   if not VarIsEmpty(XLApp) then
    begin
      XLApp.DisplayAlerts := False;
      XLApp.Quit;
      XLAPP := Unassigned;
      Sheet := Unassigned;
    end;
  end;
end;
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0413 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.