首页 > 解决方案 > excel格式生成日期(非硬编码日期)

问题描述

我正在使用 closedxml 生成一个 excel 文件。我通过创建一个命名范围直接在excel中映射单元格,并在其中通过{{item.property}}到达范围内的项目,范围集合就像代码中的变量一样添加。

我正在使用的项目有一个 Year 属性和一个 month 属性,该 excel 单元格中的映射是:{{item.Yr}}/{{item.Mon}}

我希望 Excel 将单元格中的值格式化为 mmm-yyyy(2020 年 1 月)。如果我直接在 Excel 中的单元格中写入日期并按 Enter 键,它会执行此操作,但这不是我想要的,我希望它格式化我生成的值。

我尝试过使用=TEXT(date,format)or之类的功能=DATEVALUE("1/1/2015")。但问题是我不能直接写“2015 年 1 月 1 日”,我需要写类似DATEVALUE(1/{{item.Mon}}/{{item.Yr}}但 Excel 语法不允许这样的东西。当然,我也尝试过在单元格上设置日期的“格式单元格”,但不起作用(只有当我直接输入日期并按 Enter 时)

我很抱歉我的蹩脚解释。我希望有人明白我的意思和我想要完成的事情。

标签: excelexcel-formulaexport-to-excel

解决方案


解决了

经过2天的头撞墙后,我发现如果在公式中使用变量,则需要在开头使用“&”进行转义:

&=Date({{item.Yr}},{{item.Mon}},1).


推荐阅读