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

Вниз

Уважаемые мастера, а можно ли....   Найти похожие ветки 

 
Саня   (2001-12-06 13:54) [0]

Очень охота из таблицы (paradox) какие-то столбцы перекачать
в Word (Excel) и чтоб там тоже был вид таблицы. Очень нуна :(


 
Cheburek   (2001-12-06 14:25) [1]

хм... сохрани парадоксовскую табличку в формате DBASE и открывай в Excel"е на здоровье


 
Саня   (2001-12-10 16:16) [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;



 
Delirium   (2001-12-10 16:34) [3]

А теперь попробуй вот так :)

procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
M,S:String;
AppExcel: Variant;
begin
Table1.First;
M:="";
while not Table1.Eof do
begin
S:="";
for i:=0 to Table1.FieldCount-1 do
S:=S+Table1.Fields[i].AsString+#9;
Delete(S,Length(S),1);
M:=M+S+#13;
Table1.Next;
end;
RichEdit1.Lines.Text:=M;
RichEdit1.SelectAll;
RichEdit1.CopyToClipboard;
AppExcel := CreateOleObject("Excel.Application");
AppExcel.WorkBooks.Add;
AppExcel.ActiveSheet.Paste;
AppExcel.Visible := true;
AppExcel:=UnAssigned;
end;

Оцени производительность


 
well   (2001-12-10 16:38) [5]

Посмотри статью на этом сайте, там в принципе все есть, с примерами но для CBuilder
http://src.fitkursk.ru/articles/art0000028.asp


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

То Delirium ...
Быстро..., однако :)
Но вставка прошла какая то корявая.. :(
Не по столбцамм и не все строки... Вообщето сам докумекаю...
Сэнкс!!


 
Саня   (2001-12-10 16:49) [7]

> Well
Ок!


 
Delirium   (2001-12-10 19:06) [8]

> Саня
После Paste вставь этот кусочек, и с шириной колонок будет всё в порядке.

for i:=0 to Table1.FieldCount-1 do
AppExcel.ActiveSheet.Columns[i+1].ColumnWidth:=
Table1.Fields[i].DisplayWidth;


 
Саня   (2001-12-11 12:52) [9]

for Delirium
Это опять я :)
Подскажи пжалуста...
Почемуйто с твоим кодом вставляет только одну строку (1-ю)
Поворочал мозгами.... безрезультатно :(
Наверное крыша совсем задымилась - надо в отпуск...


 
Delirium   (2001-12-11 13:01) [10]

>Саня
Я привел рабочий код, без искажений - смотри у себя.



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

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

Наверх





Память: 0.46 MB
Время: 0.005 c
4-42634
Tekman
2001-11-10 00:32
2002.01.14
Окно без рамки


4-42591
MIFI
2001-11-09 17:31
2002.01.14
Народ помогите разобраться


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


1-42508
nikols
2001-12-26 10:47
2002.01.14
Как русифицировать QuickReport?


1-42396
Fred
2001-12-22 06:54
2002.01.14
Печать StringGrid





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский