You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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没法把整行合并成单个单元格,而是直接拆成了四组单元格。

两张图展示了这个问题:
LibreOffice渲染正常
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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 15:22:13