2011-03-02 4 views
0

동일한 Excel 시트의 서로 다른 두 열에 두 변수를 어떻게 인쇄 할 수 있습니까?엑셀 시트의 서로 다른 두 열에 두 변수가 있습니다.

$a=<>; 
$b=<>; 

@mul=("$a","$b"); 

open(OUT,">output.csv"); 

for ($i = 0; $i < scalar(@mul)-1; $i++) { 
    $source=$mul[$i]; 

    print "\n\nComparision of source: $mul[$i]\n"; 
    print "------------------------------------"; 

    for ($j = $i+1; $j < scalar(@mul); $j++) { 
     $sample=$mul[$j]; 

     print "\n$sample "; 
     print "\n------\n"; 

     $t=mutate($source,$sample); 

     print OUT $t; 
    } 
} 

sub mutate { 
    my ($s1,$s2)[email protected]_; 

    $temp=""; 

    for ($k = 0; $k < length($s1); $k++) { 
     $seq1=substr($s1,$k,1); 
     $seq2=substr($s2,$k,1); 

     if ($seq1 ne $seq2) { 
      $temp.="($k)"; 
      $temp1.="([$seq1/$seq2])"; 
     } 
    } 

    return $temp; 
    return $temp1; 
} 

close OUT; 

여기에 내가 같은 excelsheet의 다른 열 한 엑셀의 열 및 $temp2$temp를 인쇄해야합니다. 당신이 좋아하는 Spreadsheet::WriteExcel을 사용 할 수

+0

내가 코드를 포맷; 'for' 문은 전에 깨졌습니다. 두 번의'return '도 거기에있었습니다. –

답변

2

,

use strict; 
    use warnings; 
    use Spreadsheet::WriteExcel; 

    # Create a new Excel workbook 
    my $workbook = Spreadsheet::WriteExcel->new('perl.xls'); 

    # Add a worksheet 
    my $worksheet = $workbook->add_worksheet(); 

    # Add and define a format 
    my $format = $workbook->add_format(); # Add a format 
    $format->set_bold(); 
    $format->set_color('red'); 
    $format->set_align('center'); 

    # Write a formatted and unformatted string, row and column notation. 

    $worksheet->write('A1', 'Test', $format); 
    $worksheet->write('B1', 'Excel', $format); 
+0

감사합니다. 감사하지만 $ temp와 $ temp1은 같은 Excel 시트의 다른 열에 인쇄되지 않습니다. 빈 Excel 시트가 출력됩니다. – Jamis

+0

당신이 엑셀'$ temp'에 몇 가지 데이터를 담고있을 때 '$ worksheet-> write ('A1 ','test ', $ format)와 같은 것을 시도해보십시오. –

관련 문제