Perl Excel Writer XLSX merge_range_type在Excel中渲染异常求助
Excel无法正确渲染合并单元格的问题求助
我开发了一款日历应用,通过merge_range_type方法合并单行内的单元格范围,设置彩色背景和富文本字符串。这段内容在LibreOffice Calc里渲染完全正常,但Excel打开时会弹出错误提示:
Removed Records: Merge cells from /xl/worksheets/sheet1.xml part
并且Excel没法把整行合并成单个单元格,而是直接拆成了四组单元格。
两张图展示了这个问题:

创建日历时,我是先绘制好日历框架和日期编号,再逐周叠加事件数据的。我猜测Excel不支持这种叠加创建的方式,但不确定具体怎么解决。
执行合并操作的代码如下:
$worksheet->merge_range_type( 'rich_string', $y1,$x1, $y2,$x2, @txt, $chosen_fmt );
我试过预先清空单元格,代码如下,但没有效果:
my $fmt_clear = $self->SUPER::add_format( font => 'Arial', size => 10, color => 'black', bottom => 0, top => 0, left => 0, right => 0 ); for( my $x=$x1; $x<$x2; $x++ ){ print "$y1,$x "; # 校验坐标 $worksheet->write( $y1, $x, ' ', $fmt_clear ); }
我已经反复检查过行列计数,排除了坐标偏移的问题,而且缓存也没有影响(每个日历下方都打印了时间戳)。希望能找到方法让Excel和LibreOffice一样正常渲染,求各位帮忙!
内容的提问来源于stack exchange,提问作者user1742494
相关产品推荐
相关产品推荐

