Навигация
Главная
Новости
Скачать
Шаблоны сайтов
Партнеры

Графика
Adobe Photoshop

Программирование
Теория алгоритмов
Code Snippets
Все о PHP
Visual C++
WIN32 API
Delphi
ASP

Java
VBScript
CGI
VRML
PERL
HTML
XML

Сети
Cisco
IP-сети
Сетевые термины

IT
UNIX-системы
Хостинг

Операционные системы
Windows
Linux

Поисковая оптимизация
Основы SEO
Мастер-класс SEO
Анализ трафика
Google AdSense

В перерыве
Интересное
Поиск работы
Немного юмора
Материалы
Публикации


RSS / РСС
.
Минутку внимания!
Обращение к 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');

Удачной работы!


Для наших любимых посетителей:
Мы рекомендуем вам ознакомиться со следующими материалами на тему:
Информация для интересующихся веб-дизайном и программированием:
Right one

Online from 2006-2008 #We are the CoDeRs! Наши статьи и новости можно свободно перепечатывать при указании обратной ссылки на источник Связь с админом