Pull to refresh

Perl & MS Excel

Reading time1 min
Views1.6K
Возникла необходимость создания красивых отчетов в MS Excel? Так сделаем это с помощью языка perl! :)

Итак, приступим:

use OLE; // используем модуль Win32::OLE
my $excel = CreateObject OLE 'Excel.Application' or die $!; // открываем Excel
$excel->{'Visible'} = 1; // советую Excel делать видимым, чтобы он не висел мертвым грузом в фоне, если вдруг случится косяк
my $workbook = $excel -> Workbooks -> Add(); // создаем новый документ
$workbook -> ActiveSheet -> Range("A1")-> {'Value'} = sprintf("Тест"); // заносим в ячейку A1 значение «Тест»
$workbook -> ActiveSheet -> Columns -> AutoFit; // очень полезная вещь – выравнивание ширины всех столбцов по содержимому
$workbook -> SaveAs("$file"); // сохраняем документ
$workbook -> ActiveSheet -> PrintOut; // если надо - распечатываем
$excel -> Quit; // закрываем Excel


Вуаля!

Ну и некоторые полезняшки напоследок:

$workbook -> ActiveSheet -> Range("A1")-> Font -> {FontStyle} = 'Bold'; // устанавливаем жирный шрифт в ячейке
$workbook -> ActiveSheet -> Range("A1")-> {HorizontalAlignment} = 3; // равнение в ячейке – по центру
$workbook -> ActiveSheet -> Range("A1")-> Borders -> {LineStyle} = 1; // рисуем границы ячейки
$workbook -> ActiveSheet -> Range("A1")-> Interior -> {ColorIndex} = 15; // делаем серую заливку ячейки
$workbook -> ActiveSheet -> Range("A1")-> EntireRow -> Delete; // удаляем строку с данной ячейкой
$workbook -> ActiveSheet -> Range("A1:A10") -> Merge; // объединяем ячейки
Tags:
Hubs:
Total votes 17: ↑10 and ↓7+3
Comments14

Articles