Как стать автором
Обновить

Perl & MS Excel

Время на прочтение1 мин
Количество просмотров1.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; // объединяем ячейки
Теги:
Хабы:
+3
Комментарии14

Публикации

Истории

Ближайшие события

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн