我在 CSV 电子表格中有一个合并变量 {{Suspense Date}} 以及其他变量列标题(最初是保存为 .csv 的 Excel 文档,因此我可以在 Thunderbird 邮件合并中使用它)。从几个月前开始,日期不再显示为日期,而是显示为文本。Excel(和 .csv)中的格式是日期(特别是 *3/14/2012 格式),而不是文本或常规。然而,当我使用 .csv 文件运行邮件合并时,除了 {{Suspense Date}} 变量之外的所有内容都可以正常合并。暂缓日期应该显示 5/01/2020,但它却插入了 43952。
答案1
我使用 Thunderbird(在 Windows 10 中),当我使用 Excel 电子表格作为邮件合并的数据源时也遇到了类似的问题。
例如,日期94 年 4 月 14 日电子表格中显示的结果最终显示为一个图形43535当我使用电子表格本身作为源时,在合并的电子邮件文档中。
如果我使用 Excel 将文件保存为 *.CSV 文件,则日期字段虽然保存为文本字段,但在 *.CSV 文件中显示为94 年 4 月 14 日. 14-Apr-94 日期随后在合并的电子邮件文档中正确显示。
作为塞巴斯蒂安指出您需要检查 Excel 如何保存 CSV 文件中的数据,并确保 CSV 中确实包含您想要显示的文本。
答案2
.CSV保存所有字段文本格式,所以如果你将其保存为日期在Excel中,当它转换成文本。您可以通过选择字段来测试这一点日期在 Excel 中输入(确保有日期)并将类型转换为文本. 都会被转换成数字。
这些数字的创建是为了1900 年 1 月 1 日是1并且每天的数量都在增加1. 因此2020 年 5 月 1 日是43952。我知道。这很痛苦……
无论如何,为了解决这个问题,你必须确保包含日期的字段确实有文本格式。显然,您必须手动输入日期,这也很烦人。
但有一个解决方法。你可以,
- 在字段中输入日期日期格式。
- 选择所有日期并复制粘贴到。TXT文件。
- 再次复制它们并粘贴到带有文本格式。
答案3
我找到了 Gouray Kumar 提出的一种解决方法。无需为邮件合并保存 CSV 文件,只需使用邮件合并的 Excel 电子表格和 TEXT 函数生成所需的格式即可。
参见电子表格中的四个字段的示例,第一列格式化为日期,第二列格式化为具有 2 位小数的数字。
姓名:更新已付款 名字 姓氏
数据 12-Mar-78 34.90 约翰·史密斯
邮件合并电子邮件显示日期字段为 36156,付款字段为 34.9。名字和姓氏显示正确。
使用解决方法将 E 列和 F 列以新名称添加到电子表格中,然后使用 TEXT 函数将 A 列和 B 列的值粘贴到 E 列和 F 列中。
名称:付款日期 =TEXT(A2,"dd-mmm-yy") =TEXT(B2,"#.00")
在邮件合并信函中插入 DATE 和 PAID 名称而不是 UDATE 和 UPAID,并且日期和数字字段将正确显示。
该过程并不像看起来那么繁琐,因为一旦设置了带有 TEXT 函数的附加字段,公式就可以复制到列中,列 A 和列 B 中的任何更改都会自动更新到列 E 和 F,只需为电子表格中的任何日期或数字字段创建附加列,因为其他字段似乎显示正确。以上操作也适用于 Libre Office Calc 电子表格。