我正在使用模塊 Excel::Writer::XLSX 并且我需要評估此條件以檢查作業表是否已創建(如果作業表已經存在,我只需要執行某些操作)
my $sheet = $workbook->add_worksheet($filters{$filter}{description});
請問我該怎么做?知道如果作業表已經存在,則 add_worksheet 方法“死”并出現如下錯誤:
Worksheet name 'All Users', with case ignored, is already used. at ./xxxx.pl line 203.
自然,做這樣的事情是行不通的,因為我相信它會評估變數賦值:
if (my $sheet = $workbook->add_worksheet($filters{$filter}{description});) {
# good, sheet doesn't already exists and was created
# i can place my code here to insert header rows etc./ colors
} else {
# program fires a message like :
# Worksheet name 'XXXXXX', with case ignored, is already used. at XXX
# no need to place code for column headers etc., sheet already exists
}
uj5u.com熱心網友回復:
你可以使用
my $name = $filters{$filter}{description};
my $sheet =
$workbook->get_worksheet_by_name( $name ) ||
$workbook->add_worksheet( $name );
uj5u.com熱心網友回復:
nvm,我使用了一個哈希,我正在檢查哈希
if (!$sheets{$filter}) {
$sheets{$filter} = $workbook->add_worksheet($filters{$filter}{description});
效果很好
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/493830.html
標籤:perl
上一篇:Perl:遍歷多行匹配
