Arch Linux下LibreOffice Calc的=NOW()函数返回###如何修复
LibreOffice Calc 调用
=NOW()返回###修复方案(Arch Linux环境) 优先排查基础显示问题
###在Calc中最常见的触发原因不是函数故障,先做以下基础验证:
- 拉宽故障单元格所在列:
=NOW()返回带时分秒的完整时间戳,字符串长度比=DATE()返回的纯日期更长,列宽不足时会直接显示###,双击列标题右侧分隔线可自动适配列宽,先做这步排除最常见问题。 - 校验单元格格式:右键故障单元格→「单元格格式」,确认分类选择为「日期/时间」,如果自定义格式代码存在语法错误、或选了不兼容的特殊格式,也会触发显示异常,可先选择系统默认的
YYYY-MM-DD HH:MM格式测试。
Arch Linux locale配置异常修复
如果基础排查后问题仍存在,再处理locale配置问题——=DATE()正常但=NOW()异常,基本是系统时间格式对应的locale未正确生成,Calc调用系统时间解析规则失败导致:
- 编辑locale生成配置,执行命令:
sudo nano /etc/locale.gen
找到你日常使用的对应locale行,去掉行首的#注释:使用简体中文环境就取消zh_CN.UTF-8 UTF-8的注释,使用英文环境就取消en_US.UTF-8 UTF-8的注释。 - 生成已启用的locale配置,执行命令:
sudo locale-gen
执行完成后运行localectl list-locales,确认你启用的locale出现在输出列表中即为生成成功。 - 配置全局系统locale,执行命令(以简体中文为例,英文环境替换为对应locale值即可):
sudo localectl set-locale LANG=zh_CN.UTF-8
执行完成后注销当前用户重新登录,让locale配置全局生效。 - 校准LibreOffice区域配置:
打开Calc→顶部菜单「工具」→「选项」→「语言设置」→「语言」,确认「区域设置」选项和你系统配置的locale完全匹配,不要选择和系统locale不对应的区域选项,修改完成后重启LibreOffice测试函数返回结果。
仍无法解决时需补充的排查信息
如果以上操作后故障复现,提供以下信息可进一步定位根因:
- 拉宽列、重置单元格默认格式后,
=NOW()的返回结果 - 终端执行
locale命令返回的完整输出 - 终端执行
timedatectl命令返回的完整输出,用于确认系统时区、NTP时间同步状态是否正常 - 当前安装的LibreOffice具体版本号(可在「帮助」→「关于LibreOffice」中查看)
- 新建空白表格输入
=NOW()是否同样返回###,还是仅在特定历史表格中出现故障
内容的提问来源于stack exchange,提问作者Bourbon
相关产品推荐
相关产品推荐

