Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/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# OLEDB外部表的格式/文件与扩展名不同_C#_Excel_Oledb - Fatal编程技术网

C# OLEDB外部表的格式/文件与扩展名不同

C# OLEDB外部表的格式/文件与扩展名不同,c#,excel,oledb,C#,Excel,Oledb,我遇到了一个奇怪的问题,我正在从一个网站检索一个excel文件(.xls),然后将数据作为JSON公开,在我开始使用真实数据进行测试之前,所有文件都与虚拟文档一起工作,如果我下载文件并在excel中打开它之前运行代码,我会得到:“外部表不是预期的格式。”,当我在excel中打开文件时,excel会给我一个警告,“该文件的格式与扩展名指定的格式不同”,但是如果我使用excel(2010)保存该文件,并选择保持相同格式和扩展名的选项,则该文件会立即工作。我考虑的解决方法是在每个下载周期后自动打开和保

我遇到了一个奇怪的问题,我正在从一个网站检索一个excel文件(.xls),然后将数据作为JSON公开,在我开始使用真实数据进行测试之前,所有文件都与虚拟文档一起工作,如果我下载文件并在excel中打开它之前运行代码,我会得到:“外部表不是预期的格式。”,当我在excel中打开文件时,excel会给我一个警告,“该文件的格式与扩展名指定的格式不同”,但是如果我使用excel(2010)保存该文件,并选择保持相同格式和扩展名的选项,则该文件会立即工作。我考虑的解决方法是在每个下载周期后自动打开和保存excel文件,但是我希望找到一个真正的解决方案。 代码:var pathToExcel=@“\source\repos\Rica2.0\reports\DataExport.xls”; var sheetName=“导出”;
var connectionString=string.Format(“Provider=Microsoft.ACE.OLEDB.12.0;数据源={0};扩展属性=\”Excel 12.0 Xml;HDR=YES;IMEX=1\“;”,pathToExcel)

问题在于,web开发人员创建一个带有表的html文件,并为其提供xls扩展名,而不是html扩展名。他们知道,文件扩展名associates会让用户在Excel中打开它,Excel可以很好地解析html。除了那个恼人的信息,它还能工作


一个选项是在下载后将文件扩展名更改为
html
。Excel仍将打开一个html文件,您将避免显示该消息。由于您是以编程方式完成这些工作的,因此不需要shell通过文件关联来确定要打开什么程序。

缺少段落和正确使用大写字母使得这个问题很难理解。非常感谢,我也这么做了,将扩展名改为xslb为我解决了这个问题,但是有没有其他方法可以直接在C#中解析文件而不重命名它?因为这将涉及到为成吨的不同目录创建一个目录观察程序,以检查新的下载。它只是一个html文件(文本),所以您可以像解析任何其他html文件一样解析它。我确信c#有一个库,在其中可以找到table标记、循环tr标记和循环td标记。这是VBA中的XML库,但我不知道它在C#中是什么。非常感谢您花时间澄清这一点,我将尝试一下,了解源文件是如何创建的,我肯定使用此指南,但我仍然无法解析它或将其转换为JSON,现在我正在运行这个脚本的interloop,但这不是一个理想的解决方案