2014-02-14 5 views
1

Мой сценарий Perl для преобразования .xls в .csvПреобразование файла .xls в CSV-файл?

use Spreadsheet::ParseExcel; 
my $xlsparser = Spreadsheet::ParseExcel->new(); 
my $xlsbook = $xlsparser->parse('/home/Admin/Downloads/abc.xls'); 
my $xls = $xlsbook->worksheet(0); 
my ($row_first, $row_last) = $xls->row_range(); 
my ($col_first, $col_last) = $xls->col_range(); 
my $csv = '/home/Admin/Downloads/ram.csv'; 
for my $row ($row_first .. $row_last) {  # Step through each row 
    for my $col ($col_first .. $col_last) { # Step through each column 
     my $cell = $xls->get_cell($row, $col); # Get the current cell 
     next unless $cell; 
     $csv .= $cell->unformatted(); # Get the cell's raw data -- no border 
            # colors or anything like that 
     if ($col == $col_last) { 
      $csv .= "\n"; 
     } else { 
      $csv .= ","; 
     } 
    } 
} 
open(my$FH ,'>',"$csv") or die "oops!"; 

while (my$line = <$xlsbook>){ 
    print $FH $line; 
} 

Oops! на линии csv.pl 23.

Ошибка при опрокидывании. Что случилось в моем коде? Пожалуйста, найдите ошибку в моем коде. Спасибо заранее.

+0

$ CSV изначально указывает на путь. Тогда почему вы добавляете данные в переменную. Когда вы открываете файл при открытии (мои $ FH, '>', "$ csv") или умирают «oops!»; содержит ли оно имя или содержание? – Raghuram

+0

, содержащее только контент – Ram

+1

Если этот вопрос идентичен [вашему предыдущему вопросу] (http://stackoverflow.com/q/21771708/725418) (который, как представляется,), вы должны добавить к нему новую информацию, а не открывать новый вопрос. В противном случае один из ваших вопросов может быть приостановлен как дубликат. – TLP

ответ

0

У вас есть опечатка:

open(my $FH ,'>',"$csv") or die "oops!"; 

Используй строгую и предупреждение, и вы получили предупреждение во время компиляции.

use strict; 
use warnings; 

Вы опечаток:

open(my $FH ,'>',$csv) or die "oops!"; 

while (my$line = <$FH>){ 

С уважением,

+0

Я использовал 'use strict; использование предупреждений; 'но все та же ошибка – Ram

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