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

LibreOffice Calc无法保留自定义日期格式问题求助

解决PowerBI导出.xlsx在LibreOffice Calc中日期格式丢失问题

PowerBI导出的.xlsx文件里采用yyyy-mm-ddThh:nn:ssZ自定义格式的日期列,在LibreOffice Calc中会显示为十进制数字,试试这几个办法让Calc打开时直接保留格式:

调整LibreOffice导入预设

  • 打开Calc后,点击「工具」>「选项」>「LibreOffice Calc」>「公式」,确认「1900年日期系统」已勾选(和Excel、PowerBI的日期系统对齐)
  • 再进入「工具」>「选项」>「LibreOffice Calc」>「常规」,检查默认日期格式设置,确保和目标格式兼容
  • 重新打开文件时,若弹出导入对话框,选中那两列日期列,将「列类型」设为「日期(YMD)」,并指定自定义格式为yyyy-mm-ddThh:nn:ssZ

批量设置格式并保存预设

  • 打开文件后,先手动给其中一列设置好yyyy-mm-ddThh:nn:ssZ格式,然后用「格式刷」一键应用到另一列
  • 右键已设置好格式的单元格,选择「单元格格式」>「数字」>「自定义」,点击「添加」把这个格式存为预设,下次打开同类文件直接选择该预设即可

用宏自动处理(适合频繁操作)

  • 按下Alt+F11打开Calc的宏编辑器,插入新模块,粘贴以下代码(注意修改列范围,示例中为A、B列,可替换成你实际的日期列):
Sub ApplyDateTimeFormat
    Dim oSheet As Object
    Dim oRange As Object
    oSheet = ThisComponent.CurrentController.ActiveSheet
    ' 修改为你的日期列范围,比如"C:C,D:D"
    oRange = oSheet.getCellRangeByName("A:A")
    oRange.NumberFormat = ThisComponent.NumberFormats.getFormat("yyyy-mm-ddThh:nn:ssZ")
    oRange = oSheet.getCellRangeByName("B:B")
    oRange.NumberFormat = ThisComponent.NumberFormats.getFormat("yyyy-mm-ddThh:nn:ssZ")
End Sub
  • 保存宏后,每次打开这类文件时运行宏,就能自动给目标列应用格式

内容的提问来源于stack exchange,提问作者Nick

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 18:34:00