Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.01.14;
Скачать: [xml.tar.bz2];

Вниз

Может быть глупый вопрос, но ....   Найти похожие ветки 

 
Smile   (2001-12-10 09:59) [0]

возможно ли все записи находящиеся в базе переводить в Excel?


 
Desdechado   (2001-12-10 10:55) [1]

в экселе делаешь "открыть файл", указываешь тип дбф - и вперед!


 
Саня   (2001-12-10 16:00) [2]

Возможно коряво, но у меня работает. Надоть только чтоб по указанному пути находился заранее созданый файл екселя, с отформатированными столбиками и т.д.
Код из работающей проги... Если не понятно то ? на ctd_2000@hotmail.ru


procedure TfmGlav.Button4Click(Sender: TObject);
var vExcel: OLEVariant;
i, n: integer;
begin
i:=5; (записи будут всавляться с пятой строки в екселе)
n:=1;
DataSourse1.DataSet.DisableControls; (и для TTable и для TQuery)
DataSourse1.DataSet.First;
vExcel:=CreateOleObject("Excel.Application");

(здесь надо чтобы книга екселя находилась по указанному пути)
vExcel.Workbooks.Open("\\Sasha\c\Rabota\Table\Для отбора.xls", False);
while not DataSourse1.DataSet.eof do
begin
vExcel.Cells[1,1].Value:="Заголовок отчета"; (в первую строку пишем заголовок для переданных данных)
vExcel.Cells[i,1].Value:=""+inttostr(n)+""; (нумерация по первой колонке)

vExcel.Cells[i,2].Value:=DataSourse1.DataSet.fieldbyname("Name").asstring;
vExcel.Cells[i,3].Value:=DataSourse1.DataSet.fieldbyname("RegN").asstring;
vExcel.Cells[i,4].Value:=DataSourse1.DataSet.fieldbyname("City").asstring;
(и т.д. для всех нужных полей БД)
dsZak.DataSet.next;
inc(i);
inc(n);
end;
DataSourse1.DataSet.EnableControls;

vExcel.Visible := True;

end;


 
БАА   (2001-12-10 16:10) [3]

2Desdechado:А таблицу являющуюся результатом выполнения скюэля таким же образом можно?


 
Саня   (2001-12-10 16:13) [4]

Да..., для этого и поставлено
vExcel.Cells[i,2].Value:=DataSourse1.DataSet.fieldbyname("Name").asstring

а не
vExcel.Cells[i,2].Value:=Table1.fieldbyname("Name").asstring
или
vExcel.Cells[i,2].Value:=TQueri1.fieldbyname("Name").asstring


 
Delirium   (2001-12-10 16:15) [5]

>Саня
Всё это хорошо, но работать будет крайне медленно, проще накопить таблицу в RichEdit, разделяя значения #9. А в Excel перенести через Clipboard, скорость возрастёт на два порядка.


 
Саня   (2001-12-10 16:24) [6]

Попробую обязательно... :)
Да...Может не понял я чегойто...., а в автомате то это можно сделать (через буфер в смысле) - по нажатию одной кнопки юзером...
Они у меня не очень то шарят (на уровне вкл и выкл)
А так, действительно - если база большая да еще и по сетке, то подтормаживает. Но я им на это время формочку высвечиваю с картинками...


 
Delirium   (2001-12-10 16:37) [7]

Я кинул пример, см. в других вопросах


 
Desdechado   (2001-12-10 19:56) [8]

2 БАА
если из своей программы, то можно что угодно (сохранить в дбф, а потом открыть в экселе, или прямо перегнать туда, как предлагается выше)


 
Yuri Btr   (2001-12-11 09:33) [9]

Вообще то можно сделать енто в обход Дельфей,
В Excele(Menu) --> Data --> Import external data --> New database Query
Составляешь запрос в Microsoft Query на SQL и рефрешишь его каждый раз после изменения данных в базе. (пункты меню взяты из англ. Office - аналогично для русского)



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2002.01.14;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.006 c
3-42385
NLO
2001-12-07 12:26
2002.01.14
start transaction commit в процедуре InterBase 6


1-42419
cahek2000
2001-12-23 17:29
2002.01.14
TRxDBGrid


1-42418
Wetnose
2001-12-27 07:09
2002.01.14
KeyDown для ScrollBar a


1-42417
Dim!S
2001-12-25 07:19
2002.01.14
Версии программ


1-42457
Lakich2
2001-12-25 07:55
2002.01.14
Excel и Delphi





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский