2012-06-15 2 views
2

Я новичок в Perl и хочу построить график с использованием Excel. Я нашел код, но когда я попытался его выполнить, он отображает только «Нажмите любую клавишу, чтобы продолжить ...» в командной строке. Код является исполняемым другими. Я также попытался загрузить пакет сценариев Excel и поместил их в папку lib, но он вообще не выполняется. Код определен определенно исполняемым.не удалось выполнить скрипт perl

#!/usr/bin/perl 
use strict; 
use warnings; 
use Excel::Writer::XLSX; 

my $workbook = Excel::Writer::XLSX->new('chart.xlsx'); 
my $worksheet = $workbook->add_worksheet(); 

# Add the worksheet data the chart refers to. 
my $data = [ 
    ['Category', 2, 3, 4, 5, 6, 7], 
    ['Value', 1, 4, 5, 2, 1, 5], 
]; 
$worksheet->write('A1', $data); 

# Add a worksheet chart. 
my $chart = $workbook->add_chart(type => 'column'); 

# Configure the chart. 
$chart->add_series(
    categories => '=Sheet1!$A$2:$A$7', 
    values  => '=Sheet1!$B$2:$B$7', 
); 
__END__ 

У кого-нибудь есть идеи?

+0

Вы видите файл, который он должен создать? –

+0

nope .. ничего не было создано – user1204868

+1

«поместил их в папку lib» - это не правильный способ установки perl-пакетов .. (хотя он должен был видеть некоторые сообщения об ошибках, если что-то пошло не так) делают некоторые google-ing. –

ответ

3

Вот что значит Олег его ответ:

В зависимости от операционной системы вы находитесь, ваш способ вызова программы на языке Perl может выглядеть немного иначе. Это то, что мне кажется.

simbabque @ коробка: ~> Perl xsltest.pl simbabque @ коробке: ~>

Теперь, если вы не уверены, где рабочий каталог, изменить код так:

#!/usr/bin/perl 
use strict; 
use warnings; 
use Excel::Writer::XLSX; 
use Cwd;     # <--- new line! 
print cwd(), "\n";  # <--- new line! 

Теперь, когда вы запускаете программу, она должна напечатать что-то вроде этого:

[email protected]:~> perl xsltest.pl 
/home/simbabque/ 
[email protected]:~> 

В моем случае, рабочий каталог является один я звоню из Perl. Это может быть и другое.

Хотя он ничего не печатает на экране, он должен был создать файл с именем chart.xlsx в моем рабочем каталоге. Я могу найти его с помощью ls в командной строке или сказать file chart.xlsx, чтобы узнать, установлен ли он в файл Excel.

[email protected]:~> file chart.xlsx 
chart.xlsx: Zip archive data, at least v2.0 to extract 

Теперь я могу открыть его в Excel или Libre Office.


Если вы на Windows, откройте Проводник и укажите, где функция cwd сказал. Там вы можете дважды щелкнуть файл, чтобы открыть его в Excel. Если это та же самая папка, что и программа, вы также можете использовать открытый диалог вашего текстового редактора, щелкните правой кнопкой мыши на chart.xlsx и нажмите open вместо выберите.

1

Выполняется. Вы создаете таблицу Excel в файле где-то, не печатая ничего на экран. «При нажатии любой клавиши для продолжения ...» ваша система будет распечатана, когда ваш скрипт завершится успешно. Если вы не знаете, где находится ваш рабочий каталог, вы можете использовать модуль Cwd, чтобы проверить его. Также убедитесь, что рабочий каталог доступен для записи.

+0

я не понимаю .. извините. Я очень новичок в этой программе. – user1204868

Смежные вопросы