date - Calc:单元格格式将空日期转换为 '30/12/1899'
问题描述
在我的 LibreOffice Calc 电子表格中,我有一个块,每个数据数组都有一行(带有块:tbs-row),其中一个值是日期,有时是空的带有 [blk1.DT_FIN_ABONNEMENT;noerr;frm=dd/mm /yyyy;ope=tbs:string],不为空时我有一个文本值,当值为空时有一个空单元格。
使用 [blk1.DT_FIN_ABONNEMENT;noerr;frm=dd/mm/yyyy;ope=tbs:date],我在不为空时有一个日期值,当值为空时我有一个“30/12/1899”。当没有价值时,我想有一个空单元格。
我试过 frm='dd/mm/yyyy|||', frm='dd/mm/yyyy||| ', frm='dd/mm/yyyy|||NULL', frm='dd/mm/yyyy|||#N/A' 结果是一样的
和 [blk1.DT_FIN_ABONNEMENT;noerr;ope=tbs:string;mok:magnet=tbs:p] [blk1.DT_FIN_ABONNEMENT;noerr;frm=dd/mm/yyyy;ope=tbs:date;magnet=tbs:p]
打破模板
谁能给我一个线索?谢谢
解决方案
LibreOffice(和 OpenOffice)的日期没有 NULL 值。只要将单元格键入为date
,它就会尝试将其转换为日期。如果日期值为空,则应用零日期值,该值在选项窗口中为工作簿设置:工具/选项/LivreOffice Calc/Calculation。如您所见,默认zero date value
值通常设置为1899-12-30
.
不幸的是,OpenTBS 还不能处理这种 LibreOffice 行为。(OpenTBS 当前版本是 1.10.0)。
A 看不到任何简单的解决方法。
由于您使用
ope=tbs:date
,因此单元格被键入为日期,因此 LibreOffice 假定它是zero date value
当内部值为空时。顺便说一句,当您使用 时ope=tbs:date
,您的参数frm
将被 OpenTBS 覆盖。由于您不使用
ope=tbs:something
,因此单元格被键入为字符串,并且您不能将单元格用作日期...
推荐阅读
- python - how can I visual a dense graph obviously in networkx python package?
- c# - API 控制器的通用方法
- javascript - 尝试从 ajax 或浏览器调用 azure 搜索的自定义搜索分析器时出现 CORS 策略错误
- c# - 全局变化时如何通知所有守卫方法
- python - 如果一个字段中的日期早于某个日期并且两个字段匹配,则使其中一个字段为 0
- sql-server - MS-SQL CHARINDEX 找不到字符串
- python - What would be a logical way to put this Smartsheet data in a DataFrame?
- php - require_once(/var/www/html/presta/var/cache/prod/appParameters.php):无法打开流:没有这样的文件或目录
- java - 给定一个数 n ,我们必须找出小于或等于 n 且恰好有 3 个除数的数
- bash - 如果除了 bash 脚本中的第一个参数之外没有设置任何参数,则使用默认值