我想根據文本檔案中的資料將資料保存到 Excel 檔案中。我試圖在文本檔案中放入 2 行。在 Excel 檔案中保存資料時,我只能從文本檔案中保存 1 行。我無法將兩行都保存在 excel 中。
以下是我的文本檔案資料:
1957041.0F1,9850-LOGOUT PROBE,B27A,Waiting,12
4511533.021,9050-OFFLOAD SEND,B18A,24,Waiting,12
output excel file out 也應該列印出那兩行。我的輸出excel檔案
1957041.0F1,9850-LOGOUT PROBE,B27A,Waiting,12
下面是我的示例代碼:
use strict;
use Excel::Writer::XLSX;
my $workbook= Excel::Writer::XLSX->new( 'C:/Users/pphyuphway/Downloads/myExcel.xlsx' );
my $worksheet = $workbook->add_worksheet();
my $file = "C:/Users/pphyuphway/Downloads/lot.txt";
my $file1 = "C:/Users/pphyuphway/Downloads/test321.txt";
open( my $fh4, "<", $file) or die "Could not open file '$file' $!";
my @check;
my $count = 0;
foreach my $check (<$fh4>) {
my ($lot,$step,$designID,$status,$duration) = split(/\,/,$check);
$count = $.;
print($count);
for(my $i = 1; $i<= $count ; $i )
{
$worksheet->write( "A$i", "$lot");
$worksheet->write( "B$i", "$designID");
$worksheet->write( "C$i", "$step");
$worksheet->write( "D$i", "$duration");
$worksheet->write( "E$i", "$status");
$worksheet->write( "F$i", "Error");
$workbook->close;
}
}
uj5u.com熱心網友回復:
您不需要嵌套回圈。對于每一行輸入,寫入電子表格。回圈后關閉電子表格。
use warnings;
use strict;
use Excel::Writer::XLSX;
my $workbook= Excel::Writer::XLSX->new( 'C:/Users/pphyuphway/Downloads/myExcel.xlsx' );
my $worksheet = $workbook->add_worksheet();
my $file = "C:/Users/pphyuphway/Downloads/lot.txt";
open( my $fh4, "<", $file) or die "Could not open file '$file' $!";
my $i = 1;
foreach my $check (<$fh4>) {
my ($lot,$step,$designID,$status,$duration) = split(/,/, $check);
$worksheet->write( "A$i", $lot);
$worksheet->write( "B$i", $designID);
$worksheet->write( "C$i", $step);
$worksheet->write( "D$i", $duration);
$worksheet->write( "E$i", $status);
$worksheet->write( "F$i", "Error");
$i ;
}
$workbook->close;
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/495706.html
標籤:perl
