一部のセルを空にする必要があるExcelシートがあります
これまでのところ、これは次のようになります。
シートを開き、列 M のセルが空でないことを確認します。それらのセルを配列の間違いに追加してから、それらのセルをすべて黒くしてファイルを保存したいと思います (この手順は機能しません)。別のプログラムへの入力になります/ありがとう!
$infile = $ARGV[0];
$columns = ReadData($infile) or die "cannot open excel table\n\n";
print "xls sheet contains $columns->[1]{maxrow} rows\n";
my $xlsstartrow;
if ( getExcel( A . 1 ) ne "text" ) {
$xlsstartrow = 2;
}
else
{
$xlsstartrow = 4;
}
check_templates();
print "done";
sub check_templates {
for ( $row = $xlsstartrow ; $row < ( $columns->[1]{maxrow} + 1 ) ; $row++ ) {
if (getExcel(M . $row) ne "" ){
$cell = "M" . $row ;
push(@mistakes,$cell);
}
}
rewritesheet(@mistakes);
}
sub rewritesheet {
my $FileName = $infile;
my $parser = Spreadsheet::ParseExcel::SaveParser->new();
my $template = $parser->Parse($FileName);
my $worksheet = $template->worksheet(0);
my $row = 0;
my $col = 0;
# Get the format from the cell
my $format = $template->{Worksheet}[$sheet]
->{Cells}[$row][$col]
->{FormatNo};
foreach (@mistakes){
$worksheet->AddCell( $_, "" );
}
$template->SaveAs($infile2);`