【问题标题】:Write in a cell full time全职写在一个单元格中
【发布时间】:2019-08-30 09:15:36
【问题描述】:

我有一个变量time,其中包含格式为h:m:s.ms的时间字符串

这次我试图在一个单元格中写,但是当我打开 excel 时,我看到了像 12:34:14 PM 这样的东西。 但是我想看12:34:14.1354

我该如何解决这个问题?

var line = "2019-07-18 11:07:42.6101";
var time = line.Substring(11, 13);

worksheet.Cell(row, column).Value = time;

【问题讨论】:

  • 需要设置单元格的显示格式。

标签: c# excel closedxml


【解决方案1】:

试试类似的东西

worksheet.Cell(row,column).Style.NumberFormat.Format = "h:mm:ss.SSSS";

我不能 100% 确定格式字符串是否正确。也许您开始尝试忽略毫秒部分。比较一下:https://github.com/ClosedXML/ClosedXML/wiki/Data-Types

更新:反映 anthony14 对答案的评论,正确的代码是

worksheet.Cell(row,column).Style.NumberFormat.Format = "h:mm:ss.ms";

【讨论】:

  • 我试过你的建议,但它不能正常工作,现在我看到了######
  • 调整列宽没用?
  • 所以,是的,你应该扩展列,我改变了一点你的代码,因为在 ms 中我有重复,它是相等的。我改为“h:mm:ss.ms”,现在效果很好。感谢帮助。祝你好运
【解决方案2】:

使用格式字符串,如“h:mm:ss.000”,零计数从 1 到 3。它对我有用:

worksheet.Cell(row,column).Style.NumberFormat.Format = "h:mm:ss.000"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-15
    • 1970-01-01
    • 2023-03-09
    相关资源
    最近更新 更多