Форум: "Начинающим";
Текущий архив: 2014.08.10;
Скачать: [xml.tar.bz2];
ВнизЭкспорт из проги в 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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.002 c