以下代码从excel文件中读取数据:
string path = "testtable.xls";
FileStream stream = File.Open(path, FileMode.Open, FileAccess.Read);
IExcelDataReader excelReader = ExcelReaderFactory.CreateBinaryReader(stream);
excelReader.IsFirstRowAsColumnNames = true;
DataSet result = excelReader.AsDataSet();
foreach (DataTable Table in result.Tables)
{
for (int i = 0; i < Table.Rows.Count; i++)
{
for (int j = 0; j < Table.Columns.Count; j++)
{
dataGrid1.ItemsSource = new DataView(Table);
}
}
}
这对每列都适用,除了其中带有“日期”的列。
在excel表中,我在dd.mm.yyyy中指定了日期,但在gridview中却得到了类似的信息: 42781 而不是 15.02.2017 。
有人知道这个问题的解决方案吗?
谢谢
最佳答案
我找到了解决方案。更改这两行后,它就可以工作了。
IExcelDataReader excelReader = ExcelReaderFactory.CreateBinaryReader(stream, true);
DataSet result = excelReader.AsDataSet(true);
关于c# - ExcelDataReader数据类型 "date"被转换,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41671548/