Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2014.08.10;
Скачать: CL | DM;

Вниз

Экспорт из проги в MS Excel   Найти похожие ветки 

 
Office-man   (2013-09-19 23:43) [0]

Доброго времени суток мастера! Подскажите как лучше реализовать экспорт данных в документ MS Excel? В проге данные в эдитах и в листвьюв. Надо перекинуть в Эксель в ячейки и таблицу,но число строк таблицы заранее неизвестно :( Приходят на ум лишь два варианта,-сделать файл-шаблон в Экселе и просто туда все экспортировать,но не знаю как добавить программно нужное количество строк в таблицу  шаблона :( Второй вариант: программно создавать лист и заполнять данными "на лету" попутно рисуя нужные границы ячеек,сложность для меня в рисовании :)


 
[ВладОшин] ©   (2013-09-20 00:22) [1]

Чертить так
uses ComObj;
procedure TForm1.btn1Click(Sender: TObject);
var
 E, W, S: Variant;
 C1, C2, R: Variant;
begin
 E := CreateOleObject("Excel.Application");
 W := E.WorkBooks.Add;
 S := W.WorkSheets[1];
 C1 := S.Cells[2, 2];
 C2 := S.Cells[3, 2];
 R := S.Range[C1, C2];
 R.Borders[3].LineStyle := 1;
 E.visible := True;
end;

Константы тут
http://technet.microsoft.com/en-us/library/ee692886.aspx


 
Office-man   (2013-09-20 08:38) [2]

Спасибо большое! Сегодня попробую... :-)


 
Вася   (2013-09-20 12:18) [3]

Можно без OLE - сохранить в формате xls(xml) - создай образец нужного тебе документа в экселе, сохрани как таблицу xml, потом открываешь в блокноте и смотришь что куда и как пишется. дальше в своей проге создавай текстовый документ, туда пишешь все что нужно, переименовываешm в xls.


 
Office-man   (2013-09-20 21:14) [4]

Эксель в Офис 2010 не дает почему то в ХМЛ сохранять, говорит не хватает ХМЛ-сопоставлений :( С чем их едят? :)


 
[ВладОшин] ©   (2013-09-20 22:18) [5]

поищи по форуму, кто-то выкладывал свой класс Excell с xml
к сожалению, мне не подошла, т.к. экселей много у нас всяких, а оле везде одинаково работает


 
robt5   (2013-09-20 22:32) [6]

а про "точку с запятой" чо забыли?


 
Office-man   (2013-09-21 00:21) [7]

>robt5 О чем идет речь?


 
Office-man   (2013-09-21 00:28) [8]

Все-таки решил сделать "на лету" с рисованием. Благодаря примеру получилось! СПАСИБО Влад! :-) А как можно задать формулы для ячеек таблицы в самой программе? Небольшой пример пожалуйста если можно...


 
robt5   (2013-09-21 21:52) [9]


> Office-man   (21.09.13 00:21) [7]

*.csv


 
NoUser ©   (2013-09-22 03:41) [10]

> можно задать формулы для ячеек таблицы

V := VarArrayCreate([0,L,0,L],varVariant);
for i := 0 to L do
  for j := 0 to L do  begin
    V[i,j]:="=R[-1]+R[-2]";
    V[i,j]:="=R[-1]+R[-2]";    
  end;
for i := 2 to L do begin
  V[0,i]:="=C[-1]+C[-2]";
  V[1,i]:="=C[-1]+C[-2]";    
end;  
V[0,0]:=1;
V[0,1]:=1;
V[1,0]:=1;
V[1,1]:=2;  

//Sh.Range["A1:K11"].FormulaLocal:=V;
Sh.Range[Sh.Cells[1,1],Sh.Cells[L+1,L+1]].FormulaLocal:=V;

VarClear(V);


> как добавить программно нужное количество строк в таблицу

Sh.Range[Sh.Cells[3,3],Sh.Cells[3+L-1,3]].EntireRow.Insert(xlShiftUp,EmptyParam);
Sh.Range[Sh.Cells[3,3],Sh.Cells[3,3+L-1]].EntireColumn.Insert(xlShiftToLeft,EmptyParam);  


 
Office-man   (2013-09-22 09:04) [11]

Спасибо большое!



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

Текущий архив: 2014.08.10;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.004 c
15-1389746609
asdasd
2014-01-15 04:43
2014.08.10
андроид


15-1389778585
teleroot
2014-01-15 13:36
2014.08.10
Задача нахождения ближайшей сходной цепочки (?)


2-1379946304
никита2013
2013-09-23 18:25
2014.08.10
Сортировка StringGrid по колонке с датой


2-1379670806
zibert
2013-09-20 13:53
2014.08.10
Listview


15-1389752194
REP
2014-01-15 06:16
2014.08.10
Работа в Перми