C# 使用Spreadsheetgear导入日期时间格式的单元格
我正在使用spreadsheetgear读取现有Excel文件并将数据导入SQL Server数据库。一切正常,直到我需要导入一个格式为日期的单元格-“*3/14/2001”。我正在尝试将此字段导入数据库中的DateTime字段。不知道该怎么做 这是导入例程-C# 使用Spreadsheetgear导入日期时间格式的单元格,c#,spreadsheetgear,C#,Spreadsheetgear,我正在使用spreadsheetgear读取现有Excel文件并将数据导入SQL Server数据库。一切正常,直到我需要导入一个格式为日期的单元格-“*3/14/2001”。我正在尝试将此字段导入数据库中的DateTime字段。不知道该怎么做 这是导入例程- fileInformation.DateReleased = worksheet.Cells["B20"].Text; fileInformation.DateRequired = worksheet.Cells["B21"].Text;
fileInformation.DateReleased = worksheet.Cells["B20"].Text;
fileInformation.DateRequired = worksheet.Cells["B21"].Text;
public DateTime DateReleased { get; set; }
public DateTime DateRequired { get; set; }
日期/时间以双精度形式存储在电子表格(和Excel)中,表示日期/时间序列号。如果您愿意,可以阅读更多有关这些连续日期的信息。它们在单元格中显示为“日期”的事实只是应用于单元格的IRange.NumberFormat(“m/d/yyy”等)的函数。使用IRange.Text将返回单元格的“格式化”值——作为字符串。要从单元格中获取实际的.NET日期时间值,可以使用IWorkbook。(…)helper方法。例如:
// Need the IWorkbook for which your "worksheet" object belongs to.
IWorkbook workbook = worksheet.Workbook;
// This code assumes there is *always* a date (double) value in this cell. You may want
// to do some additional error checking to ensure B20 actually has a number in it.
// Otherwise the cast will give you issues.
DateTime dateReleased = workbook.NumberToDateTime((double)worksheet.Cells["B20"].Value);
fileInformation.DateReleased = dateReleased;
DateTime dateRequired = workbook.NumberToDateTime((double)worksheet.Cells["B21"].Value);
fileInformation.DateRequired = dateRequired
你遇到了什么,有什么错误吗?