2012-02-07 55 views
1

我正在读取使用C#代码将数据表格显示到WPF数据网格的excel文件。当我从Excel文件中读取日期并将其显示到数据网格中时,日期格式会发生变化。我正在使用Oledb ADO.NET来读取excel文件。使用C#读取Excel文件(想要所有字符串)

我使用的查询是:

SELECT * FROM [Sheet1$] 

所以基本上我想读取Excel数据,他们就当他/她打开一个Excel和相同的方式,我想在显示它似乎用户我的数据网格。请指导我。如果您需要关于此问题的任何其他信息,请询问我。

问候, Priyank THAKKAR

+1

你能提供你正在使用的OLEDB connction字符串? – 2012-02-07 13:41:51

回答

1

使用类似于此的连接字符串:

OLEDB;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyExcel.xls;Extended Properties="Excel 8.0;HDR=Yes;IMEX=1"; 

如从ConnectionStrings.com引述:

“IMEX = 1;”告诉驱动程序总是将“混合”(数字, 日期,字符串等)数据列作为文本读取。请注意,此选项可能会影响Excel工作表写入访问为负数。

+1

也针对x86平台,因为Jet驱动程序无法在64位模式下运行。 – 2012-02-07 14:06:07

+0

@罗伊古德:感谢您的信息....我会尝试它,让你知道:) – 2012-02-08 07:18:28

0

你可以将文件保存为.csv和:

 string[] fileLines = File.ReadAllLines("path\file.csv"); 

     foreach (string s in fileLines) 
     { 
      string[] splitRow = s.Split(','); 
      //do stuff w/ row columns 
     }