Excel显示“#########”,当我尝试将DateTime.Now.tostring()写入Excel文件中的一个单元格

我在c#中创build了一个应用程序,它读取excel文件,并在检查一些条件后,select要写入另一个Excel文件的行。

一切工作正常,但我需要用DateTime.Now.ToString()结束文件。

 string date = DateTime.Now.ToString(); ExcelWorkSheet2.Cells[newFileRow, 1] = date; 

当我看到创build的文件,它显示“########”符号,而不是实际的date。 当我select该单元格时,它将更改为正确的date格式。

什么可能出错?

您需要扩大单元格的大小以使其正确显示。 通过双击列标题可以很容易地完成这项工作,使其扩展到适合所有数据。

当单元格中的值太宽时,Excel通常会显示##### 。 如果您尝试扩大列宽一点,会发生什么?

只要尝试扩大列显示一点点。

正如其他人所说的那样,该列对于date时间值来说不够宽。

不要在括号中放入任何东西,DateTime.Now.ToString()将返回当前date的每一个细节。

您可以通过在括号中放置一些语音标记来减less这种情况,接下来是一些格式化信息。

  • dd当前date
  • 本月MM
  • 今年是yyyy
  • hh当前小时
  • 毫米为当前分钟(注意小写)
  • ss当前秒

例如,如果你只是想要没有任何时间信息的date,你会把以下将返回2012-03-25:

 var thisString = DateTime.Now.ToString("yyyy-MM-dd"); 

谢谢

我想你可能想要缩短date时间的格式和/或拓宽你的单元格。 请参阅有关date时间格式的信息 。


更多DateTime.Now.ToString()通常会产生长string,如“3/25/2012 7:26:26 PM”。 如果这是你想显示的东西,那么唯一的select是让你的细胞/柱子变宽。

否则,请考虑适合你的多种格式之一。 例如: DateTime.Now.ToString("MM-dd-yy")