Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
2 / 2 / 0
Регистрация: 13.01.2012
Сообщений: 27
1

Проблема с экспортом

20.03.2012, 11:02. Просмотров 612. Ответов 4
Метки нет (Все метки)

Блин, люди добрые помогите пожалуйста.
По нажатию кнопки содержимое dbgrid должно экспортироваться в word. С этим вообще ничего не получается, вообще не могу понять что да как.
Вот есть рабочий код экспорта в Excel:

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
var
i,j,s:integer;
XL,xlb:variant;
begin
XL:=CreateOleObject('Excel.Application');
XL.DisplayAlerts := false;
xlb:=xl.workbooks.add;
xl.visible:=false;
for i:=0 to dbgrd1.FieldCount-1 do
xlb.WorkSheets[1].Cells[1,i+1]:=dbgrd1.fields[i].fieldname;
s:=2;
for i:=0 to dbgrd1.DataSource.DataSet.RecordCount-1 do
begin
for j:=0 to dbgrd1.DataSource.DataSet.FieldCount-1 do
xlb.WorkSheets[1].Cells[s,j+1]:=dbgrd1.DataSource.DataSet.Fields[j].AsString;
inc(s);
dbgrd1.DataSource.DataSet.Next;
end;
xl.visible:=true;
end;



Но с вордом вообще понять не могу. Можете предоставить код экспорта в ворд пожалуйста если можно? Ну или хотя бы объяснить как наподобие экспорта в excel сделать экспорт в word.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.03.2012, 11:02
Ответы с готовыми решениями:

Проблема с экспортом из DLL в C#
Добрый день . Нужна помощь профи , проблема в следующе у меня в DLL организовано подключение к Lua...

Проблема с экспортом 3DMAX в 3DS
Пытаюсь экспортировать из 3DMAX в формат 3DS , но не сохраняется информация о материалах, тоесть...

Помогите с экспортом
Есть запрос типа: declare @begin_date datetime, @end_date datetime set @end_date =...

Проблеммы с экспортом в Excel
Доброго времени суток ! Имеется главная форма, в которой подчиненная ленточная форма. на главной...

4
1 / 1 / 1
Регистрация: 13.09.2009
Сообщений: 132
25.03.2012, 11:03 2
а перемення x1 какого типа?
мне как раз импорт в excel нужен, в ворд у меня есть рабочий. Но в ваш код не работает у меня
0
2 / 2 / 0
Регистрация: 13.01.2012
Сообщений: 27
25.03.2012, 11:26  [ТС] 3
Цитата Сообщение от stasyano Посмотреть сообщение
а перемення x1 какого типа?
х1 нигде в приведенном выше коде нет. XL (xl) типа variant
0
1 / 1 / 1
Регистрация: 13.09.2009
Сообщений: 132
25.03.2012, 11:40 4
Хм, а не подскажите, как настроить ширину столбцов?
И еще, в excel кспортируются и названия полей, но некорректно. все сбито. Не соображу как исправить
Вот пример экспорта word:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
procedure TForm1.word1Click(Sender: TObject);
var i,p:integer;
begin
   W:= CreateOleObject('Word.Application');
   W.Documents.Add;
   Range:= W.ActiveDocument.Range;
   Range.Font.Size:= 12;
   Range.Font.Name:= 'Times New Roman';
  Range.Font.Bold:= false;
  Range.ParagraphFormat.Alignment:= 1;//ii oaio?o
  Range.InsertAfter('шапка');
  Range.InsertAfter(Char(#13));
  Range:= W.ActiveDocument.Range(Range.End-1,Range.End-1);
  dm.QSelAbit.Close;
  dm.QSelAbit.Open;
  dm.QSelAbit.First;
  p:=0;
  while not dm.QSelAbit.Eof do
    begin
      inc (p);
      dm.QSelAbit.Next;
    end;
  if p=0 then
  begin
    Showmessage('Ia iaeaai caienae'); exit;
  end;
  W.ActiveDocument.Tables.Add(Range,p+1,6);
  Table:= W.ActiveDocument.Tables.Item(1);
  Table.Columns.Item(1).Width:= 30;
  Table.Cell(1,1).Range.Text:= '?';
  Table.Columns.Item(2).Width:= 100;
  Table.Cell(1,2).Range.Text:= 'O.E.I';
  Table.Columns.Item(3).Width:= 90;
  Table.cell(1,3).Range.text:='Oi?ia iao?aiey';
 
  Table.Columns.Item(4).Width:= 50;
  Table.cell(1,4).Range.text:='Iie';
 
  Table.Columns.Item(5).Width:= 90;
  Table.cell(1,5).Range.text:='Oaeaoii';
 
  Table.Columns.Item(6).Width:= 110;
  Table.cell(1,6).Range.text:='Ii?oa';
 
  Table.Rows.Item(1).Range.Font.Bold:= true;
  dm.qselabit.first;
  Range.Font.Bold:= false;
  for i:=1 to p do
  begin
    Table.Cell(i+1,1).Range.Text:= inttostr(i);
    Table.Cell(i+1,2).Range.Text:= DM.QSelAbitFIO.value;
    Table.Cell(i+1,3).Range.Text:= dm.qselAbitFORMA_OBYCHENIA.value;
    Table.Cell(i+1,4).Range.Text:= dm.qselAbitPOL.value;
    Table.Cell(i+1,5).Range.Text:= dm.qselAbitMOB_TEL.value;
    Table.Cell(i+1,6).Range.Text:= dm.qselAbitEL_ADRESS.value;
    dm.qselAbit.next;
  end;
  Table.Rows.Item(1).Range.ParagraphFormat.Alignment:= 1;
  w. ActiveDocument.SaveAs(ExtractFilePath(Application.ExeName)+'Abit.doc');
  w.documents.open(ExtractFilePath(Application.ExeName)+'Abit.doc');
end;
0
2 / 2 / 0
Регистрация: 13.01.2012
Сообщений: 27
26.03.2012, 11:03  [ТС] 5
Да у меня тоже пока сбито все. Как разберусь отпишусь.

Добавлено через 20 часов 21 минуту
Теперь у меня все ровно как и должно быть.
У меня в dbgrid столбец Код был невидим. Добавил его в dbgrid и все.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.03.2012, 11:03

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Что-то не так с экспортом
Может и оффтопик, сорри конечно. Трабл такой. Нужно экспортить базу из access в текстовый файл....

Циклы с импортом и экспортом данных
Добрый день! С маткадом знаком слабо, надеялся, вы мне сможете помочь. Проблема следующая. Имеется...

Не могу разобраться с экспортом в excel
перебрала всю информацию о экспорте данных с форм в шаблоны excel, но никак не получаестя применить...

Экспортом в txt вещественных значений ?
Импортирую нужные столбцы с вещественными числами из текстового файла в Access 2007 нормально. А...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.