|
Вопрос # 877/ вопрос открыт / |
|
Приветствую, уважаемые эксперты!
У меня созрел такой вопрос: можно ли с помощью CreateOleObject(\'Excel.Application\') экспортировать данные в ячейки EXEL, например
Sheet.Cells[1,2]:=string1;
Sheet.Cells[2,6]:=\'string2;
Sheet.Cell[8,100]:=string3;
....
и программно сохранить в .xls, при этом не постоянно прятать само окно exel?
Заранее спасибо.
 |
Вопрос задал: Phoenix (статус: Посетитель)
Вопрос отправлен: 29 августа 2007, 01:37
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: ANBsoft
Здравствуйте, Phoenix!
Все возможно, и несложно.
Что хорошо, так это то, что можно записать макрос в Excel, переписать его под синтаксис Delphi и все работает
Приложение: Переключить в обычный режим- var ExcelApp, Book, Sheet, V:Variant;
- Begin
- ExcelApp:=CreateOleObject('Excel.Application');
- ExcelApp.Workbooks.Add[XLWBatWorksheet]; // xlWBATWorksheet = -4167
- Book:=ExcelApp.Workbooks[1];
- Sheet:=Book.Worksheets[1];
-
-
-
-
- V:=VarArrayCreate([1,10,1,10],varVariant);
-
- Sheet.Range[Sheet.Cells[1,1],Sheet.Cells[10,10]]:=v;
- VarClear(V);
-
- End;
 |
Ответ отправил: ANBsoft (статус: Студент)
Время отправки: 29 августа 2007, 09:07
Оценка за ответ: 5
Комментарий к оценке: о, спасибо большое, но еще один небольшой вопрос ниже
|
Мини-форум вопроса
Всего сообщений: 2; последнее сообщение — 30 августа 2007, 09:06; участников в обсуждении: 2.
|
Phoenix (статус: Посетитель), 29 августа 2007, 14:45 [#1]:
Как все-таки добалять к уже имеющимся яцейкам? Например:
Sheet.Cells[X,1]:=\'Привет\'; //Где X=первая пустая после последней заполенной.
|
|
ANBsoft (статус: Студент), 30 августа 2007, 09:06 [#2]:
Если документ уже заполнеy, то перебираем ячейки пока не найдем последнюю заполненную.
Примерно так.
X:=1;
while Sheet.Cells[X,1].Value<>\'\' do Inc(X);
После этого в Х номер первой свободной ячейки.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|