Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ExcelDataReader在某些情况下不读取xls文件_C#_C# 4.0_Xls_Exceldatareader - Fatal编程技术网

C# ExcelDataReader在某些情况下不读取xls文件

C# ExcelDataReader在某些情况下不读取xls文件,c#,c#-4.0,xls,exceldatareader,C#,C# 4.0,Xls,Exceldatareader,对某些Excel文件使用excelDatareader时,ExcelReaderFactory.CreateOpenXmlReader(stream)将返回null,而不使用文件流。但对于某些excel文件来说,它运行得非常完美 谁能给我解释一下原因吗 static void Main(string[] args) { FileStream stream = File.Open(@"C:\Users\nichi-user\Desktop\BLRJCCI.xls", FileMode.Op

对某些Excel文件使用excelDatareader时,
ExcelReaderFactory.CreateOpenXmlReader(stream)
将返回null,而不使用文件流。但对于某些excel文件来说,它运行得非常完美

谁能给我解释一下原因吗

static void Main(string[] args)
{
    FileStream stream = File.Open(@"C:\Users\nichi-user\Desktop\BLRJCCI.xls", FileMode.Open, FileAccess.Read);

    IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);

    DataSet result = excelReader.AsDataSet();

    result.Tables[0].TableName.ToString();
}

Excel可以有两种类型: -二进制文件(MS Excel 2003及更早版本-.xls) -Zip-基于开放式Office XML标准(MS Excel 2007及以后版本-.xlsx)

对于较旧的excel格式文件,应尝试使用以下内容:

CreateBinaryReader(文件流)

Excel可以有两种类型: -二进制文件(MS Excel 2003及更早版本-.xls) -Zip-基于开放式Office XML标准(MS Excel 2007及以后版本-.xlsx)

对于较旧的excel格式文件,应尝试使用以下内容:


CreateBinaryReader(文件流)

ExcelDataReader在大多数情况下,如果改用ExcelReaderFactory.CreateReader,则可以检测文件的类型。有关支持的格式和版本,请参阅

ExcelDataReader在大多数情况下,如果改用ExcelReaderFactory.CreateReader,则可以检测文件的类型。有关支持的格式和版本,请参阅