C# EPPlus 日期格式生成警告

C# EPPlus date format generating warning

我的日期类似于 08/09/21,格式为 MM/dd/yy。当我通过 EPPlus 在 excel 中显示此日期时,会显示警告。

这是我使用的示例代码。我尝试了很多方法但没有运气。请看一下。

1)

ws.Cells[1 + 1].Value = Convert.ToDateTime(dtGroup.Rows[r][dtGroup.Columns[c].ColumnName].ToString()).Date;
ws.Cells[1 + 1].Style.Numberformat.Format = "m/d/yy";

以上代码生成警告。

2)

ws.Cells[1 + 1].Value = Convert.ToDateTime(dtGroup.Rows[r][dtGroup.Columns[c].ColumnName].ToString()).Date;
ws.Cells[1 + 1].Style.Numberformat.Format = "@";

以上代码生成警告。

我尝试了四种方式,但都没有用。所以我很困惑,无法理解我在哪里犯了错误。请提出一些建议,因为我需要在 excel 中显示日期,例如 08/09/21,即 MM/dd/yy 格式

谢谢

编辑

ws.Cells[r + 6, groupstartcol].Value = DateTime.Parse(dtGroup.Rows[r][dtGroup.Columns[c].ColumnName].ToString()).ToString("MM/dd/yy");
ws.Cells[r + 6, groupstartcol].Style.Numberformat.Format = "mm/dd/yy";

dtGroup 是数据table,日期来自数据库table,其中日期已存储为字符串。

我试了上面的代码,还是不行。我在这里粘贴了一个屏幕截图,可以帮助您理解问题。谢谢

您需要一个日期单元格,因此不要向其传递字符串值,而是传递一个 DateTime 并应用一种格式(这只会影响演示文稿,不会影响数据)。如果 dtGroup.Rows[r][dtGroup.Columns[c].ColumnName] 是 DateTime,你可以做

ws.Cells[r + 6, groupstartcol].Value =((DateTime)dtGroup.Rows[r][dtGroup.Columns[c].ColumnName]).Date;
ws.Cells[r + 6, groupstartcol].Style.Numberformat.Format = "mm/dd/yy";

如果你有一个字符串:

ws.Cells[r + 6, groupstartcol].Value = DateTime.Parse(myString).Date;
ws.Cells[r + 6, groupstartcol].Style.Numberformat.Format = "mm/dd/yy";