ENG GER GER pl
PCproxy mail RSS




Регистрация | Вход

Меню сайта

Форма входа

Последние новости

Наши друзья

Наш опрос
Вы часто бываете на ITsecure.org.ua?
Всего ответов: 453

Наши друзья



Главная » Статьи » Программирование » Delphi |

Java - введение Delphi



Обращение к Microsoft Excel из среды Delphi
В этой статье мы рассмотрим основные конструкции, позволяющие получить доступ к книге MS Excel из Delphi.

Организация доступа к книге EXCEL

Для взаимодействия с MS Excel в программе необходимо использовать модуль ComObj

uses ComObj;

и объявить переменную для доступа к MS Excel следующего типа:

var MsExcel: Variant;

Инициализация переменной Excel в простейшем случае можно осуществить так:

MsExcel := CreateOleObject('Excel.Application');

Создание новой книги:

MsExcel.Workbooks.Add;

Открытие существующей книги (где path - путь к фалу с расширением xls.):

MsExcel.Workbooks.Open[path];

Открытие существующей книги только для чтения:

MsExcel.Workbooks.Open[path, 0, True];

Закрытие Excel:

MsExcel.ActiveWorkbook.Close;
MsExcel.Application.Quit;

Блокировка запросов (подтвеждений, уведомлений) Ms Excel, например, запретить запрос на сохранение файла:

MsExcel.DisplayAlerts:=False;

Отображаем Excel на экране:

MsExcel.Visible := True;

или скрываем:

MsExcel.Visible := False;

Печать содержимого активного листа MS Excel:

MsExcel.ActiveSheet.PrintOut;

Чтение/запись данных в EXCEL

Доступ к ячейке в текущей книге Excel можно осуществить следующим образом:

Для записи значения в ячейку:

MsExcel.Range['B2']:='Привет!'; 

Для чтения значения из ячейки:

s:=MsExcel.Range['B2'];

где B2 - адрес ячейки.

Или используя стиль ссылок R1C1:

MsExcel.Range[MsExcel.Cells[2, 2]]:='Привет!';

где [2, 2] - координата ячейки.

Вообще, ячейке Excel можно присваивать любое значение (символьное, целое, дробное, дата) при этом Ms Excel установит форматирование в ячейке применяемое по умолчанию.

Формат ячеек в EXCEL

Выделить (выбрать) группу ячеек для последующей работы можно так:

MsExcel.Range[MsExcel.Cells[1, 1], MsExcel.Cells[5, 3]].Select;
// или
MsExcel.Range['A1:C5'].Select;

при этом будет выделена область находящаяся между ячейкой A1 и C5.

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

// объединение ячеек 
MsExcel.Selection.MergeCells:=True;
// перенос по словам
MsExcel.Selection.WrapText:=True;
// горизонтальное выравнивание
MsExcel.Selection.HorizontalAlignment:=3;
// вериткальное выравнивание
MsExcel.Selection.VerticalAlignment:=1;

Для вертикального и горизонтального выравнивания используются следующие значения:

1 - используется выравнивание по умолчанию,
2 - выравнивание слева,
3 - по центру,
4 - справа.


Граница ячеек

MsExcel.Selection.Borders.LineStyle:=1;

При значении 1 границы ячеек рисуются тонкими сплошными линиями.

Кроме этого можно указать значения для свойства Borders, например, равное 3. Тогда установится только верхняя граница для блока выделения:

MsExcel.Selection.Borders[3].LineStyle:=1;

Значение свойства Borders задает различную комбинацию граней ячеек. В обоих случаях можно использовать значения в диапазоне от 1 до 10.

Использование паролей в EXCEL

Установка пароля для активной книги может быть произведена следующим образом:

try
// попытка установить пароль
MsExcel.ActiveWorkbook.protect('pass');
except
// действия при неудачной попытке установить пароль
end;

где pass - устанавливаемый пароль на книгу.

Снятие пароля с книги аналогично, используем команду

MsExcel.ActiveWorkbook.Unprotect('pass');

где pass - пароль, установленный для защиты книги.

Установка и снятие пароля для активного листа книги Excel производится командами

MsExcel.ActiveSheet.protect('pass'); // установка пароля
MsExcel.ActiveSheet.Unprotect('pass'); // снятие пароля

где pass - пароль, установленный для защиты книги.

Вспомогательные операции в EXCEL

Удаление строк со сдвигом вверх:

MsExcel.Rows['5:15'].Select;
MsExcel.Selection.;

при выполнении данных действий будут удалены строки с 5 по 15.

Установка закрепления области на активном листе Excel

// снимаем закрепление области, если оно было задано
MsExcel.ActiveWindow.FreezePanes:=False;
// выделяем нужную ячейку, в данном случае D3
MsExcel.Range['D3'].Select;
// устанавливаем закрепление области
MsExcel.ActiveWindow.FreezePanes:=True;

Сохранение активной книги Excel

// сохранить
MsExcel.ActiveWorkbook.Save;

// или сохранить как...
MsExcel.ActiveWorkbook.SaveAs(Filename:='C:Documents and SettingsКнига2.xls');

Удачной работы!
Категория: Delphi | Добавил: admin (12.09.2008)
Просмотров: 888 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Реклама на сайте

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Наши друзья

Счетчики
  • Каталог Луганских сайтов
  • МЕТА - Украина. Рейтинг сайтов
  • Rambler's Top100
Ваш IP: 216.73.216.240

При полном или частичном копировании материалов с сайта, ссылка на ITsecure.org.ua обязательна!
ITsecure.org.ua ©2008-2025