【发布时间】:2018-08-06 23:09:16
【问题描述】:
我对 perl 非常陌生,我被投入到一个新的 perl 项目中。作为一名 C 开发人员,我最初遇到了一些小问题,但不知何故设法修复了以下逻辑所期望的代码。
我使用 write_rich_string 是为了在同一个单元格中进行不同的格式化。这是我收到错误的代码的 sn-p。
$worksheet->write_rich_string(0,0,$format1,$text1,$format2,$text2,$wrap);
代码运行良好,直到 text1 或 text2 之一为空。有什么办法可以处理 write_rich_string() 中的 null 吗?
请注意,我有 7 个文本及其相应格式要插入。我刚刚展示了 2 个文本。
请求您的帮助。请帮忙。
更新 2:我还尝试了以下方法,这样我可以将工作表格式(红色字体单元格)与变量中的字符串连接起来,并将其放入 write_rich_string() 函数中。但这给出了以下消息,而 excel 行有以下消息。
if ($mdr_count == 1) { $var.="$lav_cell,$mrd"; }
if ($lwd_count == 1) { $var.="$red_cell,$lwd"; }
print "The value is ${var}";
$worksheet->write_rich_string($row,$pos,$var);
输出:
**Excel::Writer::XLSX::Format=HASH(0x1427aac)**,Provide Missing Required **DataExcel::Writer::XLSX::Format=HASH(0x1426e7c)**,Loan is late by more than 30 days
它只是将格式转换为字符串并将其粘贴到 excel 行中。
【问题讨论】:
-
在 perl 中引用为
undef的空值。检查空值:if (defined($text1)) { ... } -
@wolfrevokcat 我已经编辑了问题,我尝试了相同的方法,但我无法做到。
-
你不能把
null的值改成空字符串吗?$text1 = $text1 eq '' || $text1 eq 'null' ? '' : $text1 -
如果您放置空值,即 ..'',则不会在 write_rich_string() 上工作。该格式不能应用于空值。
标签: bash shell perl unix perl-module