Форум по программированию Delphi Sources

 



Вернуться   Форум по программированию Delphi Sources > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #16  
Старый 26.07.2011, 09:12
iegrec iegrec вне форума
Прохожий
 
Регистрация: 07.01.2011
Сообщения: 34
Репутация: 10
По умолчанию

Помогите Очень срочно нужно...
У меня есть таблица и шаблон Excel во вложение.
мне нужно что бы серийный номер выводился на ячейке H15 а он выводит на С15...как сделать так что бы это исправить....МНЕ ЭТО НУЖНО ОЧЕНЬ СРОЧНО...ПОМОГИТЕ.
Вот обработчик
Код:
procedure TForm_aktperedaci.Button1Click(Sender: TObject);
var
 XL, XArr: Variant;
 i: Integer;
 j: Integer;
begin
XArr:=VarArrayCreate([1,DataM.ADOTable_akt.FieldCount],varVariant);
 XL:=CreateOLEObject('Excel.Application');
 XL.WorkBooks.add(ExtractFileDir(Application.ExeName)+'\Акты\Акт Приема-передачи.xls');

//  XL.Range['A14:B14'].Select;
//  XL.Selection.Merge;
//  XL.range['A14:B14'].value:='wwwwwwww';  //:= 'заголовок 1';
 XL.Range['A14'].value:='№';
 XL.Range['B14'].value:='Наименование';
 XL.Range['H14'].value:='Серийный номер';

 j := 15;
 DataM.ADOTable_akt.First;
 while not DataM.ADOTable_akt.Eof do
  begin
   i:=1;
   while i<=DataM.ADOTable_akt.FieldCount do
    begin
     XArr[i] := DataM.ADOTable_akt.Fields[i-1].Value;
     i := i+1;
    end;
      XL.Range['A'+IntToStr(j),
   CHR(64+DataM.ADOTable_akt.FieldCount)+IntToStr(j)].Value := XArr;
   DataM.ADOTable_akt.Next;
   j:=j+1;
     end;


 XL.Range['A15',CHR(64+DataM.ADOTable_akt.FieldCount)+IntToStr(j)].select;

 XL.Selection.Font.Name:='Arial cur';
 XL.Selection.Font.Size:=10;
 XL.Selection.ColumnWidth:=10;
 XL.Selection.RowHeight:=15;

   //with SaveDialog1 do
 //     if Execute then
   //   xl.ActiveWorkbook.SaveAs(FileName);


// XL.Range['A1','A1'].select;
  XL.visible:=true;
end;
Админ: Пользуемся тегами для оформления кода!
Изображения
Тип файла: jpg Таблица.JPG (49.6 Кбайт, 15 просмотров)
Тип файла: jpg Excel.JPG (53.5 Кбайт, 14 просмотров)

Последний раз редактировалось Admin, 26.07.2011 в 09:53.
Ответить с цитированием
  #17  
Старый 26.07.2011, 11:43
iegrec iegrec вне форума
Прохожий
 
Регистрация: 07.01.2011
Сообщения: 34
Репутация: 10
По умолчанию

Все разобрался....
Вот решение моё...
XL.Selection.Font.Size:=10;
XL.Selection.ColumnWidth:=10;
XL.Selection.RowHeight:=15;
Ответить с цитированием
  #18  
Старый 20.01.2012, 16:21
snbike snbike вне форума
Прохожий
 
Регистрация: 20.01.2012
Сообщения: 2
Репутация: 10
По умолчанию

Скажите а вот наоборот из Екселя в делфи! Делаю запрос на поиск 5/2 или 8а, он ничего не находит! Как в этом случае?
Ответить с цитированием
  #19  
Старый 22.02.2012, 00:52
mejikuu mejikuu вне форума
Прохожий
 
Регистрация: 22.02.2012
Сообщения: 1
Репутация: 10
Злость

Ситуация такая: надо сделать что-то вроде расписания

сам "экспорт":
Код:
Sheet.Cells[idn+1,gpi]:=predmet1.text;
 Sheet.Cells[idn+2,gpi]:=prepod1.text;

что касается расположения дней все работает

Код:
//if ComboBoxDen.Text='Понедельник' then idn:=1;
 //if ComboBoxDen.Text='Вторник' then idn:=11;
 //if ComboBoxDen.Text='Среда' then idn:=21;
 //if ComboBoxDen.Text='Четверг' then idn:=31;
 //if ComboBoxDen.Text='Пятница' then idn:=41;
 //if ComboBoxDen.Text='Суббота' then idn:=51;

а вот тут уже проблемка возникает...

в DBLookUpComboBox есть группы: КС-2, КС-1 и т.д.
Код:
if group1.Text='КС-2' then gpi:=3;
 if group1.Text='КС-1' then gpi:=4;


порядок групп идет из БД, т.е. если вначале добавить, например, СТ-1, то он будет заполнять ячейки уже СТ-1, а не КС-2..

т.е. нужно взять позицию из DBLookUpComboBox и указать с какой ячейки начинать..

попытался сделать так:
Код:
 if group1.Text='КС-2' then gpi:=strtoint(inttoStr(strToInt(adotable19.FieldBy Name('ID').AsString)+2));
т.е. выбранная позиция+2 (работает подобно if group1.Text='КС-2' then gpi:=3; )

надо что-то на подобии:
Код:
if adotable19.FieldByName('ID').AsString (или adotable19.Fields.Fields[1]) then gpi:=strtoint(inttoStr(strToInt(adotable19.FieldBy Name('ID').AsString)+2));

если пятая позиция то 5+2(7-й столбец)

при постороении книги группы так же берутся из базы:
Код:
gp:=3;
 ADOTable6.First;
 for gg:=0 to ADOTable6.RecordCount-1 do
 begin
 Sheet:=XLApp.Workbooks[1].WorkSheets['Расписание'];
 Sheet.Cells[1,gp]:=ADOTable6.Fields.Fields[1].AsString;
 Colum.Columns[gp].ColumnWidth:=20;
 Sheet.Cells[gp].HorizontalAlignment:=3;
 Sheet.Cells[gp].Borders.LineStyle:=-4119;
 Sheet.Cells[gp].Interior.Color:=rgb(230,230,230);
 Inc(gp);
 ADOTable6.Next;
 end;

Последний раз редактировалось mejikuu, 22.02.2012 в 01:08.
Ответить с цитированием
  #20  
Старый 15.05.2012, 16:03
alex_rR alex_rR вне форума
Прохожий
 
Регистрация: 09.04.2012
Сообщения: 26
Репутация: 156
По умолчанию Подскажите как обратится к надписи в xls фале ну и тексе от туда стырить

Ответить с цитированием
  #21  
Старый 31.05.2012, 09:25
Gayka Gayka вне форума
Прохожий
 
Регистрация: 31.05.2012
Сообщения: 1
Репутация: 10
По умолчанию

Здравствуйте! Помогите! я не знаю что делать, вот код...
procedure TForm3.BitBtn2Click(Sender: TObject);
var
Excel,Range, Cell1, Cell2, VData:Variant;WorkBk: _WorkBook;
WorkSheet : _WorkSheet;
begin Excel:= CreateOleObject('Excel.Application');
Excel.Workbooks.Open[extractfilepath(paramstr(0))+'Личнаякарточка.xlt', 0, True];
Excel.WorkBooks[1].WorkSheets[2].Range['B13:B16']:=form3.DBGrid1.DataSource.DataSet.FieldByName('Ро дство').AsString;


мне нужно чтобы все строки, содержащиеся в столбце "родство", вывелись в введенном выше диапазоне ячеек... попробовала так, как показано здесь, но у меня почему-то выводятся данные только из первой строки DBGrid
Ответить с цитированием
  #22  
Старый 06.06.2012, 19:43
ins813 ins813 вне форума
Прохожий
 
Регистрация: 24.05.2012
Сообщения: 32
Репутация: 10
По умолчанию Создание отчета из запроса ADoquary в Excel

Здравствуйте, подскажите пожалуйста, как реализовать код, если нужно выгрузить данные из запроса ADoquary (MS SQL), а главное чтобы перед открытием сформированного Excel-документа открывался "Предварительный просмотр страницы"
Ответить с цитированием
  #23  
Старый 30.08.2012, 15:47
Аватар для Lost_Fish
Lost_Fish Lost_Fish вне форума
Начинающий
 
Регистрация: 21.07.2011
Адрес: Новосибирск
Сообщения: 103
Версия Delphi: Delphi 7,XE2
Репутация: выкл
По умолчанию

Вопрос знатокам, как организовать экспорт в эксель, если на компьютере отсутствует пакет MS Office, вместо него стоит OpenOffice
Ответить с цитированием
  #24  
Старый 30.08.2012, 15:58
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от Lost_Fish
Вопрос знатокам, как организовать экспорт в эксель, если на компьютере отсутствует пакет MS Office, вместо него стоит OpenOffice
Есть компоненты, которые могут делать экспорт в файлы экселя не зависимо от того установлен ли сам Excel. Я пользовался компонентами NativeExcel, но к сожалению они платные...
Но есть много и бесплатных. Можешь посмотреть здесь: http://www.torry.net/pages.php?id=551
Ответить с цитированием
Этот пользователь сказал Спасибо poli-smen за это полезное сообщение:
Lost_Fish (07.09.2012)
Ответ



Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 12:55.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources", 2004-2017

ВКонтакте   Facebook   Twitter