【问题标题】:In C#, Excel cell's custom date format not working with EPPlus在 C# 中,Excel 单元格的自定义日期格式不适用于 EPPlus
【发布时间】:2016-11-19 05:50:25
【问题描述】:

我在使用 EPPLUS 的 Excel 自定义格式方面遇到问题。这是我的代码:

var destFile = new FileInfo(@"C:\temp\test1.xlsx");
var fileName = "test1";
using (ExcelPackage pck = new ExcelPackage(destFile))
{
    pck.Workbook.Worksheets.Add(fileName); // Create the worksheet in package   
    pck.Workbook.Worksheets[fileName].Cells["A2"].Value = DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss");
    pck.Workbook.Worksheets[fileName].Cells["A2"].Style.Numberformat.Format = "d-mmm-yy";

    pck.Save();
}

我得到以下信息:

自定义格式显示正确,但单元格中的值未显示所需格式。这是我想要得到的:

注意:我需要完整的日期值DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss") 用于其他文件,但我需要此文件的自定义格式。

我需要进行哪些更改才能使其正常工作?

【问题讨论】:

  • 看起来您正在尝试将数字格式应用于字符串,这不会做任何事情。您是否尝试过 Cells["A2"].Value = DateTime.Now 以便将日期值写入单元格而不是字符串?
  • 不。但你的建议成功了。谢谢。

标签: excel c#-4.0 format epplus


【解决方案1】:

感谢@PaullAbbott,这是正确答案:

pck.Workbook.Worksheets[fileName].Cells["A2"].Value = DateTime.Now;

这显示了我需要的结果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-25
    • 1970-01-01
    • 1970-01-01
    • 2011-11-18
    相关资源
    最近更新 更多