2015-06-08 40 views
0

下面是代碼,我使用while循環寫入行,但只獲得43個格式化的行。如何解決這個問題?在Perl中,使用'Spreadsheet :: WriteExcel'進行格式化,但無法格式化43行後的excel

use strict; 
use Spreadsheet::WriteExcel; 
my [email protected][0]; 
# Create a new workbook called simple.xls and add a worksheet 
my $workbook = Spreadsheet::WriteExcel->new($xls); 
my $worksheet = $workbook->add_worksheet(); 

# The general syntax is write($row, $column, $token). Note that row and 
# column are zero indexed 

# Write some text 
my $row=1; 
$worksheet->write(0, 0, 'Hi Excel!'); 
while($row<100) 
{ 
    my $format = $workbook->add_format(); 
    $format->set_bg_color('grey'); 
    $format->set_align('center'); 
    $worksheet->write($row, 1, "vikas veer",$format); 
    $row++; 
} 
$workbook->close(); 
+0

歡迎來到堆棧溢出。請閱讀關於新帖子的[常見問題]和[編輯]你的問題。目前尚不清楚你現在要問什麼。 – simbabque

+0

當我運行你的代碼時,我得到99個格式化的行。有什麼問題? – choroba

+0

m只能得到43格式化的行...... @ choroba –

回答

1

如果我正確理解你。我剛剛修改了你的代碼。這將給你100格式行:

use warnings; 
use strict; 
use Spreadsheet::WriteExcel; 
my $xls = $ARGV[0]; 

# Create a new workbook called simple.xls and add a worksheet 
my $workbook = Spreadsheet::WriteExcel->new($xls); 
my $worksheet = $workbook->add_worksheet(); 

# Add and define a format 
my $format = $workbook->add_format(); 
$format->set_bg_color('grey'); 
$format->set_align('center'); 

my $col = my $row = 0; 
while($row<100) 
{ 
    $worksheet->write($row, $col, "vikas veer", $format); 
    $row++; 
} 
$workbook->close(); 
+0

謝謝你@serenesat它現在正在正常工作我得到100格式化的行,我不知道以前的代碼有什麼問題.. –

+0

即使對於我你以前的代碼給了100格式化的行。 :) – serenesat