我想要一个date时间显示为适当的date,但在Gembox选项我找不到选项来设置格式为date

我正在使用名为Gembox的外部组件来创buildExcel报告。

将C#中的DateTime属性导出到Excel时,Excel中的值显示为一个数字(例如“-693593”)。 所有其他(基本)属性types都显示为表示的types。

在Excel中,我想将DateTime显示为适当的Date,在Gembox选项中我找不到将格式设置为Date的选项。

另一种select是在Excel中设置值时,使用.ToString()来转换DateTime,这样可以得到所需的结果,但是还有更好的方法吗?

一些简单的代码示例:

ExcelFile excelFile = new ExcelFile(); ExcelWorksheet excelWorksheet = excelFile.Worksheets.Add("MyWorksheet"); int rownumber = 0; int columnnumber = 2; DateTime dateTime = DateTime.Now; excelWorksheet.Cells[rownumber, columnnumber].Value = dateTime; 

输出示例:

ExcelExportExample

格式化Excel单元格以显示date时间,就像在Excel中一样,

 ExcelFile excelFile = new ExcelFile(); ExcelWorksheet excelWorksheet = excelFile.Worksheets.Add("MyWorksheet"); int rownumber = 0; int columnnumber = 2; DateTime dateTime = DateTime.Now; Microsoft.Office.Interop.Excel.Range range = excelWorksheet.Cells[rownumber, columnnumber] as Range; range.NumberFormat = "dd/MMM/yyyy"; range.Value2 = dateTime; 

这将设置您的Excel单元格date格式。

在行范围内.NumberFormat =“dd / MMM / yyyy”; 你可以给任何以下格式:

 dd/MM/yy // 01/01/01 dd/MMM/yy // 01/Jan/01 ddd/MMM/yyyy // Mon/Jan/2001 ddd dd/MMM/yyyy // Mon 01/Jan/2001 hh:mm:ss // 01:01:01 - 24 hour hh:mm:ss AM/PM // 01:01:01 pm - 12 hour the format below is for used by the .Net format only, this will not work with Excel. HH:mm:ss // 01:01:01 - 24 hour hh:mm:ss t // 01:01:01 pm - 12 hour HH:mm:ss.fff // 01:01:01.123 - 24 hour with millisecond or combination of both date and time; ddd dd/MMM/yyyy hh:mm:ss 

确保variables'dateTime'是一个DateTime对象,然后

 excelWorksheet.Cells[rownumber, columnnumber].Value = dateTime; excelWorksheet.Cells[rownumber, columnnumber].Style.NumberFormat = "dd MMM yyyy";