Как вставить строку в excel на delphi

PavelG2010

0 / 0 / 0

Регистрация: 15.07.2013

Сообщений: 44

1

19.12.2013, 19:13. Показов 13176. Ответов 5

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

Здравствуйте, подскажите как добавить строку в excel с помощью delphi 7
скрипт токой

Visual Basic
1
2
3
4
5
6
7
8
9
10
Sub Макрос1()
'
' Макрос1 Макрос
'
 
'
    Rows("20:20").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Selection.RowHeight = 22.5
End Sub



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

19.12.2013, 19:13

5

droider

Эксперт Pascal/Delphi

4884 / 2756 / 849

Регистрация: 04.10.2012

Сообщений: 10,054

19.12.2013, 19:58

2

PavelG2010,

Delphi
1
2
3
const xlDown=-4121;
.........
ExApp.Cells[i,j].Insert(xlDown);



1



PavelG2010

0 / 0 / 0

Регистрация: 15.07.2013

Сообщений: 44

21.12.2013, 10:30

 [ТС]

3

Цитата
Сообщение от droider
Посмотреть сообщение

PavelG2010,

Delphi
1
2
3
const xlDown=-4121;
.........
ExApp.Cells[i,j].Insert(xlDown);

А как строку добавить, а не одну ячейку



0



droider

Эксперт Pascal/Delphi

4884 / 2756 / 849

Регистрация: 04.10.2012

Сообщений: 10,054

21.12.2013, 21:15

4

PavelG2010, верно. Поправлюсь

Delphi
1
2
ExApp.ActiveSheet.Rows['20:20'].Select; 
ExApp.Selection.Insert(Shift :=xlDown);



0



0 / 0 / 0

Регистрация: 15.07.2013

Сообщений: 44

21.12.2013, 22:24

 [ТС]

5

Благодарствую

p.s. Не подскажи справочник или сайт команд?



0



Эксперт Pascal/Delphi

4884 / 2756 / 849

Регистрация: 04.10.2012

Сообщений: 10,054

21.12.2013, 22:39

6

Тут
Тут
Есть основная информация и т.д.



1



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

21.12.2013, 22:39

Помогаю со студенческими работами здесь

[Delphi] Копировать / Вставить
В общем мне необходим скрипт(пример), который содержимое Edit без занесения в регистр вставлял в…

готовый код вставить в delphi
С новым годом ребят, Глупо, но все же, прошу, помогите. Код есть. Как его вставить в Delphi, чтобы…

Вставить готовый код в Delphi
Глупо, но все же, прошу, помогите. Послезавтра нужно показать программу. Код есть. Там и формы, и…

Вставить текст программы в Delphi
Добрый день!
Уважаемы форумчане-программисты! Очень нужна ваша помощь(
Имеется текст программы,…

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

Или воспользуйтесь поиском по форуму:

6

I am developing an application that need to generate excel sheets. How do we append rows
to an existing excel sheet? I am using Delphi 2007.(and I am using SM Software TXLS… components…but I am ok with answers in native delphi excel components).
Thanking you all,
Pradeep

CloudyMarble's user avatar

CloudyMarble

36.7k70 gold badges96 silver badges130 bronze badges

asked Feb 25, 2011 at 6:55

Pradeep's user avatar

Over the years, I’ve found Deborah Pate’s site has helped me by providing useful code samples: http://www.djpate.freeserve.co.uk/AutoExcl.htm. We use the CreateOleObject approach.

answered Feb 25, 2011 at 13:09

RobertFrank's user avatar

RobertFrankRobertFrank

7,32211 gold badges53 silver badges98 bronze badges

1

Normally you won’t need to append rows, because you can just reference any cell to write in it. You may need to insert rows in the middle of your sheet like this:

ExcelApplication.ActiveSheet.Rows[10].Insert;

or

ExcelApplication.ActiveSheet.ActiveCell.EntireRow.Insert;

If you develop for Excel, I think it is more convenient to use TExcelApplication because it is just a wrapper around the type library. You can use the source code of the imported type library as a reference. Another helpful tool is the macro recording in Excel itself. The VBA code created by recording a macro can easily be translated into Delphi code. Sometimes you need to do little changes or improvements, but it is still a lot of help when you are stuck.

answered Feb 25, 2011 at 7:08

GolezTrol's user avatar

GolezTrolGolezTrol

114k17 gold badges184 silver badges209 bronze badges

2

Hier some untested sample code you can use to insert data to Excel:

var
  Cols: integer;
  Rows: integer;      
  Excel, XLSheet: Variant;
  failure: Integer;

begin
  failure:=0;
  try
    Excel:=CreateOleObject('Excel.Application');
  except
    failure:=1;
  end;
  if failure = 0 then
  begin
    Excel.Visible:=False;
    Excel.WorkBooks.Open(<Excell_Filename>);
    XLSheet := Excel.Worksheets[1];
    Cols := XLSheet.UsedRange.Columns.Count;
    Rows := XLSheet.UsedRange.Rows.Count;

    //Insert Data
    Excel.Cells[1, 1].Value := 'SwissDelphiCenter.ch';
    Excel.Cells[2, 1].Value := 'http://www.swissdelphicenter.ch';
    Excel.Cells[3, 1].Value := FormatDateTime('dd-mmm-yyyy', Now);

    Excel.Range['A2', 'D2'].Value := VarArrayOf([1, 10, 100, 1000]);

    // Save the Workbook
    Excel.SaveAs(Excell_Filename);

    Excel.Workbooks.Close;
    Excel.Quit;
    Excel:=Unassigned;
  end;
end;

answered Feb 25, 2011 at 9:28

CloudyMarble's user avatar

CloudyMarbleCloudyMarble

36.7k70 gold badges96 silver badges130 bronze badges


Форум программистов Vingrad

Модераторы: MetalFan

Поиск:

Ответ в темуСоздание новой темы
Создание опроса
> Добавление строк в Excel, Как добавить строку(столбец) в Excel 

V

   

Опции темы

ARlex
  Дата 13.3.2006, 17:06 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Новичок

Профиль
Группа: Участник
Сообщений: 5
Регистрация: 7.11.2005

Репутация: нет
Всего: нет

Просмотрел кучу топиков, «разобрался» с Excel`ем, однако так и не понял, как добавить строку в Excel.
То есть есть уже готовая таблица, и вот в нее надо вставить Строку

PM MAIL   Вверх
_hunter
Дата 13.3.2006, 17:25 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Эксперт
****

Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 2
Всего: 98

сикрет в том, что строку вставлять никуда не нужно — она уже там есть.
нужно по определенным координатам задать свойства ячейки. и все.

———————

Tempora mutantur, et nos mutamur in illis…

PM ICQ   Вверх
ARlex
Дата 13.3.2006, 17:35 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Новичок

Профиль
Группа: Участник
Сообщений: 5
Регистрация: 7.11.2005

Репутация: нет
Всего: нет

Нет, не так, В таблице уже есть данные, Она заполненная, Если записывать сразу в ячейки, то сотрется старые данне. Необходимо вставить строку (например между 13 и 14), сдвинув все остальные вниз,и заполнить ее по столбцам.

PM MAIL   Вверх
_hunter
Дата 13.3.2006, 17:42 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Эксперт
****

Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 2
Всего: 98

ааа… так бы сразу и говорил.
тогда вот:

Код

    Range("A2").Select
    Selection.Insert Shift:=xlDown

———————

Tempora mutantur, et nos mutamur in illis…

PM ICQ   Вверх
ARlex
Дата 13.3.2006, 18:01 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Новичок

Профиль
Группа: Участник
Сообщений: 5
Регистрация: 7.11.2005

Репутация: нет
Всего: нет

Работает вот так:

Код

      WorkSheet.Cells.Item[12,12].Select;
      XLApp.ActiveCell.EntireRow.Insert(xlDown,xlFormatFromLeftOrAbove);

Это сообщение отредактировал(а) ARlex — 13.3.2006, 18:24

PM MAIL   Вверх
_hunter
Дата 13.3.2006, 18:25 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Эксперт
****

Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 2
Всего: 98

хз. я, обычно, через OLE работал…

———————

Tempora mutantur, et nos mutamur in illis…

PM ICQ   Вверх
Marlin
Дата 14.3.2006, 08:13 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Бывалый
*

Профиль
Группа: Участник
Сообщений: 170
Регистрация: 20.2.2006

Репутация: нет
Всего: 1

Страница=E.WorkBooks(1).Sheets(номСтраницы);
Страница.Rows(1).Insert();

вставка из 1с

———————

Программист решает проблемы, о которых пользователь даже не задумывается,способами, о котороых он даже не подозревает.

PM MAIL   Вверх
Albinos_x
Дата 16.3.2006, 19:39 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Evil Skynet
****

Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 15
Всего: 108

вопрос недавно задавался
http://forum.vingrad.ru/index.php?showtopic=84983

———————

«Кто владеет информацией, тот владеет миром»    
Уинстон Черчилль

PM MAIL ICQ   Вверх



















Ответ в темуСоздание новой темы
Создание опроса
Правила форума «Delphi: ActiveX/СОМ/CORBA»

Rrader
Girder

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) — крупнейшем в рунете сборнике материалов по Delphi
  • Вопросы по SQL и вопросы по базам данных, не связанные с Delphi, задавать здесь

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Rrader, Girder.

 

0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: ActiveX/СОМ/CORBA | Следующая тема »

 
ZSergey
 
(2005-09-01 09:18)
[0]

и еще
Как запустить в Excel VBA-макрос через OLE?
Спасибо


 
ZSergey
 
(2005-09-01 11:26)
[1]

неужели никто не знает, хоть скажите, вообще это возможно или нет??


 
jack128 ©
 
(2005-09-01 12:22)
[2]

Application.Run


 
ZSergey
 
(2005-09-01 12:46)
[3]

Насколько я понял запуск приложение? В чем смысл? :)


 
YurikGL ©
 
(2005-09-01 20:45)
[4]

app := CreateOleObject(«Excel.Application»);
>добавить строкустолбец в Excel»e??
что-то типа
   app.activesheet.Rows(«2:2»).Select;
   app.Selection.Insert Shift:=xlDown
   app.activesheet.Columns(«D:D»).Select
   app.Selection.Insert Shift:=xlToRight
>Как запустить в Excel VBA-макрос через OLE?
Попробуй ExcelApplication1.Run(«имя макроса»)


 
Карелин Артем ©
 
(2005-09-01 22:13)
[5]

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


 
Карелин Артем ©
 
(2005-09-01 22:23)
[6]

Имелась в виду работа с макросами. Остальное без проблем.


 
Попов Виталий
 
(2005-09-02 17:12)
[7]

вот пример добавления столбцов/строк, а также выполнения макроса

procedure TForm1.Button1Click(Sender: TObject);
Var
Exl,WB,Sh:OleVariant;

begin
Exl:=CreateOleObject(«Excel.Application»);
try
WB:=exl.Workbooks.Add(«C:Книга1.xls»);
Sh:=Wb.WorkSheets[1];
 //Добавление строки
Sh.Rows[2].Insert;
//2-это номер строки по образцу и перед котрой будет
//добавлена новая.
Sh.Columns[2].Insert;
//Аналогично добавлению строки

//Выполнение макроса
Exl.Run(«Макрос1»);

Exl.Visible:=True;
finally
Exl:=Unassigned;
WB:=Unassigned;
Sh:=Unassigned;
end;

Примечание: макрос вызовется при любом выбранном уровне безопасности; если у макроса есть входные параметры их надо задавать через переменные типа OleVariant;
Например: Exl.Run(«TestFunction», Arg1, Arg2).
Макрос можно выполнять только после инициализации книги, в которой он храниться
WB:=exl.Workbooks.Add(«C:Книга1.xls»);


 
ZSergey
 
(2005-09-06 15:52)
[8]

to Попову Виталию
Большое спасибо, все работает :)


Delphi excel вставка строки

и еще
Как запустить в Excel VBA-макрос через OLE?
Спасибо


ZSergey ( 2005-09-01 11:26 ) [1]

неужели никто не знает, хоть скажите, вообще это возможно или нет??


jack128 © ( 2005-09-01 12:22 ) [2]


ZSergey ( 2005-09-01 12:46 ) [3]

Насколько я понял запуск приложение? В чем смысл? 🙂


YurikGL © ( 2005-09-01 20:45 ) [4]

app := CreateOleObject(«Excel.Application»);
>добавить строкустолбец в Excel»e??
что-то типа
app.activesheet.Rows(«2:2»).Select;
app.Selection.Insert Shift:=xlDown
app.activesheet.Columns(«D:D»).Select
app.Selection.Insert Shift:=xlToRight
>Как запустить в Excel VBA-макрос через OLE?
Попробуй ExcelApplication1.Run(«имя макроса»)

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


Карелин Артем © ( 2005-09-01 22:23 ) [6]

Имелась в виду работа с макросами. Остальное без проблем.


Попов Виталий ( 2005-09-02 17:12 ) [7]

вот пример добавления столбцов/строк, а также выполнения макроса

procedure TForm1.Button1Click(Sender: TObject);
Var
Exl,WB,Sh:OleVariant;

begin
Exl:=CreateOleObject(«Excel.Application»);
try
WB:=exl.Workbooks.Add(«C:Книга1.xls»);
Sh:=Wb.WorkSheets[1];
//Добавление строки
Sh.Rows[2].Insert;
//2-это номер строки по образцу и перед котрой будет
//добавлена новая.
Sh.Columns[2].Insert;
//Аналогично добавлению строки

//Выполнение макроса
Exl.Run(«Макрос1»);

Exl.Visible:=True;
finally
Exl:=Unassigned;
WB:=Unassigned;
Sh:=Unassigned;
end;

Примечание: макрос вызовется при любом выбранном уровне безопасности; если у макроса есть входные параметры их надо задавать через переменные типа OleVariant;
Например: Exl.Run(«TestFunction», Arg1, Arg2).
Макрос можно выполнять только после инициализации книги, в которой он храниться
WB:=exl.Workbooks.Add(«C:Книга1.xls»);


ZSergey ( 2005-09-06 15:52 ) [8]

to Попову Виталию
Большое спасибо, все работает 🙂

Источник

Delphi excel вставка строки

Профиль
Группа: Участник
Сообщений: 5
Регистрация: 7.11.2005

Репутация: нет
Всего: нет

ARlex
Дата 13.3.2006, 17:06 (ссылка) | (нет голосов) Загрузка .
_hunter
Дата 13.3.2006, 17:25 (ссылка) | (нет голосов) Загрузка .
Эксперт

Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 2
Всего: 98

Профиль
Группа: Участник
Сообщений: 5
Регистрация: 7.11.2005

Репутация: нет
Всего: нет

ARlex
Дата 13.3.2006, 17:35 (ссылка) | (нет голосов) Загрузка .
_hunter
Дата 13.3.2006, 17:42 (ссылка) | (нет голосов) Загрузка .
Эксперт

Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 2
Всего: 98

Код
Range(«A2»).Select
Selection.Insert Shift:=xlDown

Профиль
Группа: Участник
Сообщений: 5
Регистрация: 7.11.2005

Репутация: нет
Всего: нет

ARlex
Дата 13.3.2006, 18:01 (ссылка) | (нет голосов) Загрузка .
Код
WorkSheet.Cells.Item[12,12].Select;
XLApp.ActiveCell.EntireRow.Insert(xlDown,xlFormatFromLeftOrAbove);

Это сообщение отредактировал(а) ARlex — 13.3.2006, 18:24

_hunter
Дата 13.3.2006, 18:25 (ссылка) | (нет голосов) Загрузка .
Эксперт

Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 2
Всего: 98

Бывалый

Профиль
Группа: Участник
Сообщений: 170
Регистрация: 20.2.2006

Репутация: нет
Всего: 1

Marlin
Дата 14.3.2006, 08:13 (ссылка) | (нет голосов) Загрузка .
Albinos_x
Дата 16.3.2006, 19:39 (ссылка) | (нет голосов) Загрузка .

Evil Skynet

Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 15
Всего: 108

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) — крупнейшем в рунете сборнике материалов по Delphi
  • Вопросы по SQL и вопросы по базам данных, не связанные с Delphi, задавать здесь

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Rrader, Girder.

Правила форума «Delphi: ActiveX/СОМ/CORBA»
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: ActiveX/СОМ/CORBA | Следующая тема »

[ Время генерации скрипта: 0.1219 ] [ Использовано запросов: 21 ] [ GZIP включён ]

Источник

Adblock
detector

Понравилась статья? Поделить с друзьями:

А вот еще интересные статьи:

  • Как вставить строку в excel между строками через одну
  • Как вставить ссылку на сноску в word
  • Как вставить столбец в таблицу excel между столбцами
  • Как вставить строку в excel между строками с сохранением формул
  • Как вставить ссылку на слово в word

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии