Rambler's Top100
"Knowledge itself is power"
F.Bacon
Поиск | Карта сайта | Помощь | О проекте | ТТХ  
 Круглый стол
  
Правила КС
>> Настройки

Фильтр вопросов
>> Новые вопросы
отслеживать по
>> Новые ответы

Избранное

Страница вопросов
Поиск по КС


Специальные проекты:
>> К л ю к в а
>> Г о л о в о л о м к и

Вопрос №

Задать вопрос
Off-topic вопросы

Помощь

 
 К н и г и
 
Книжная полка
 
 
Библиотека
 
  
  
 


Поиск
 
Поиск по КС
Поиск в статьях
Яndex© + Google©
Поиск книг

 
  
Тематический каталог
Все манускрипты

 
  
Карта VCL
ОШИБКИ
Сообщения системы

 
Форумы
 
Круглый стол
Новые вопросы

 
  
Базарная площадь
Городская площадь

 
   
С Л С

 
Летопись
 
Королевские Хроники
Рыцарский Зал
Глас народа!

 
  
ТТХ
Конкурсы
Королевская клюква

 
Разделы
 
Hello, World!
Лицей

Квинтана

 
  
Сокровищница
Подземелье Магов
Подводные камни
Свитки

 
  
Школа ОБЕРОНА

 
  
Арсенальная башня
Фолианты
Полигон

 
  
Книга Песка
Дальние земли

 
  
АРХИВЫ

 
 

Сейчас на сайте присутствуют:
 
  
 
Во Флориде и в Королевстве сейчас  17:33[Войти] | [Зарегистрироваться]
Ответ на вопрос № 47641

14-12-2006 01:30
Здравствуйте, вывожу данные из БД в таблицу Excel в заранее известные ячейки таким образом:

procedure TForm1.Image13Click(Sender: TObject);
var
n3,nsave3:Olevariant;
begin
n3:=  'C:\OK\Zayv.xls';
ExcelApplication1.Workbooks.Add(n3,0);
ExcelWorkbook1.ConnectTo(ExcelApplication1.ActiveWorkbook);
ExcelApplication1.Cells.Item[16,3].Value :=Query1.FieldValues ['Rnn'];
ExcelApplication1.Cells.Item[22,6].Value :=Form1.Edit14.Text;
ExcelApplication1.Cells.Item[14,12].Value :='V';
ExcelWorkbook1.PrintOut;
nsave3:=WdDonotSaveChanges;
ExcelWorkbook1.Close(nsave3);
end;

теперь есть задача выводить все данные из бд например после фильтрации в таблицу Excel? т.е. я не знаю какое количество данных будет в след момент, подскажите как вставить все данные в таблицу. Заранее благодарен!

[+] Добавить в избранные вопросы

Отслеживать ответы на этот вопрос по RSS

Ответы:


Уважаемые авторы вопросов! Большая просьба сообщить о результатах решения проблемы на этой странице.
Иначе, следящие за обсуждением, возможно имеющие аналогичные проблемы, не получают ясного представления об их решении. А авторы ответов не получают обратной связи. Что можно расценивать, как проявление неуважения к отвечающим от автора вопроса.

03-01-2007 12:44
Если на вскидку, то »вопрос КС №34775«

14-12-2006 03:51 | Сообщение от автора вопроса
Zloxa Тешьте себя тем, что вы умный, а я тупой! Зачем отвечать, если все что можете на хамить, сами, то давно спецом стали! Не надо помогать, если вас бесит от таких помощников тошно, другие помогут, я просто в растерянности от такого объема информации и для завершения программы остался только момент экспортирования данных из БД. В первый раз знаете ли! Я просто попросил простенький примерчик, что бы понять!

14-12-2006 03:20
У Вас есть пример, у вас есть ссылка на статью, у вас есть справка.
Если Вам "сложно понять такую кучу", мне кажется, Вам следует подумать о смене рода деятельности.

PS. ИЗвините, если сочтете мой ответ "грубоватым", я, лично, счел Вашу просьбу однозначно грубой и наглой. Уверен, если бы ВЫ задали уточняющий вопрос, который подразумевал бы что вы чтото хотябы ПЫТАЛИСЬ понять, мой ответ был бы совсем иным.

14-12-2006 03:11
2 Автор:
А что конкретно не ясно в статье? Как указать размерность массива? Как его заполнить? Или Вам надо готовое решение? Примерчик есть в приведенной ссылке. Вставьте этот код в ButtonClick. Только естественно его надо подредактировать под себя. А перед этим нужно запустить Excel и добавить в него рабочую книгу. Как это сделать описано туточки:
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1270#01
http://www.delphikingdom.com/asp/viewitem.asp?catalogID=1273#01
Если что-то не понятно, то ставьте вопрос конкретнее.

14-12-2006 02:59 | Сообщение от автора вопроса
А можно как нить упростить, пожалуйста привидите пример, мне сложно понять такую кучу я совсем недавно этим занялся! Как сделать по щелчку кнопки! Просто небольшой примерчик, пожалуйстаааа!!!

14-12-2006 02:33
Через вариантный массив.
http://www.delphikingdom.com/asp/viewitem.asp?catalogID=1274#16. Читайте статьи. Там все написано.

14-12-2006 02:24 | Сообщение от автора вопроса
Спасибо, но может кто подскажет,как сделать по проще! Мне нужно что бы все данные из БД перенеслись в Excel по столбцам как есть в БД!

14-12-2006 01:59
Это фрагмент самописного компонентика, собранного на скорую руку... готовить его к публикации лениво.. но, думаю, идею отсюда выхватить достсаточно не сложно.

procedure TZtxExcelExporter.DumpDataSet;
var
  i,j : integer;
  arr : Variant;
  rcnt,ccnt : integer;
  bm : Pointer;
begin
  if FCol <> 1 then
    WriteLineFmt('',[]);
  For i := 0 to ExportFields.Count - 1 do begin
    FExcelWorkSheet.Columns[FCol].ColumnWidth := ExportFields[i].DisplayWidth;
    WriteFmt('''%s',[ReplaceChar(ExportFields[i].DisplayLabel,'|',',')]);
  end;
  WriteLineFmt('',[]);
  j := 1;
  DataSet.DisableControls;
  try
    bm := DataSet.GetBookmark;
    DataSet.Last;
    DataSet.First;
    rcnt := FDataSet.RecordCount;
    ccnt := ExportFields.Count;
    arr := VarArrayCreate([1,rcnt,1,ccnt],varVariant);

    While not DataSet.Eof do begin
      for i := 0 to ExportFields.Count - 1 do
        arr[j,i+1] := ExportFields[i].Value;
      DataSet.Next; inc(j);
    end;
    DataSet.GotoBookmark(bm);
  finally
    DataSet.EnableControls;
  end;
  FExcelWorkSheet.Range[FWS.Cells[FRow,FCol],FWS.Cells[FRow+rcnt-1,FCol+ccnt-1]].value := arr;
end;
procedure TZtxExcelExporter.WriteFmt(const Fmt: String;
  const Args: array of const);
var str : String;
begin
  FmtStr(Str, Fmt, Args);
  FWS.Cells[FRow,FCol].Value := Str;
  inc(FCol);
end;

procedure TZtxExcelExporter.WriteLineFmt(const Fmt: String;
  const Args: array of const);
var str : String;
begin
  FmtStr(Str, Fmt, Args);
  if Str <> '' then
    FWS.Cells[FRow,FCol].Value := Str;
  inc(FRow);
  FCol := 1;
end;


Добавьте свое cообщение

Вашe имя:  [Войти]
Ваш адрес (e-mail):На Королевстве все адреса защищаются от спам-роботов
контрольный вопрос:
Два кольца, два конца, посередине гвоздик.
в качестве ответа на вопрос или загадку следует давать только одно слово в именительном падеже и именно в такой форме, как оно используется в оригинале.
Надоело отвечать на странные вопросы? Зарегистрируйтесь на сайте.
Тип сообщения:
Текст:
Жирный шрифт  Наклонный шрифт  Подчеркнутый шрифт  Выравнивание по центру  Список  Заголовок  Разделительная линия  Код  Маленький шрифт  Крупный шрифт  Цитирование блока текста  Строчное цитирование
  • вопрос Круглого стола № XXX

  • вопрос № YYY в тесте № XXX Рыцарской Квинтаны

  • сообщение № YYY в теме № XXX Базарной площади
  • обсуждение темы № YYY Базарной площади
  •  
     Правила оформления сообщений на Королевстве

    Страница избранных вопросов Круглого стола.
      
    Время на сайте: GMT минус 5 часов

    Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter.
    Функция может не работать в некоторых версиях броузеров.

    Web hosting for this web site provided by DotNetPark (ASP.NET, SharePoint, MS SQL hosting)  
    Software for IIS, Hyper-V, MS SQL. Tools for Windows server administrators. Server migration utilities  

     
    © При использовании любых материалов «Королевства Delphi» необходимо указывать источник информации. Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
    Все используемые на сайте торговые марки являются собственностью их производителей.

    Яндекс цитирования