OLEDB外部表不在扩展名格式/文件格式不同

我有一个奇怪的问题,我从网站检索一个Excel文件(.xls),然后公开数据为JSON,所有工作文件与虚拟文件,直到我开始testing真实的数据,如果我下载文件,并运行我的代码打开之前在Excel中我得到:“外部表格不是所需的格式”,当我在Excel中打开文件时,Excel中给我一个警告,“该文件是不同于扩展名指定的格式”,但如果我用Excel(2010)保存它,并select保持相同的格式和扩展它的工作后选项。 我想到的解决方法是在每个下载周期后自动运行excel来打开和保存文件,但是我希望find一个真正的解决scheme。 高强 代码: var pathToExcel = @"\source\repos\Rica2.0\reports\DataExport.xls"; var sheetName = "Export"; var connectionString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=\"Excel 12.0 Xml;HDR=YES;IMEX=1\";", pathToExcel); var pathToExcel = @"\source\repos\Rica2.0\reports\DataExport.xls"; var sheetName = "Export"; var connectionString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=\"Excel 12.0 Xml;HDR=YES;IMEX=1\";", pathToExcel);

问题是,networking开发人员创build一个表格的html文件,并给它一个xls扩展名,而不是一个html扩展名。 他们知道,用户文件扩展名关联将导致它在Excel中打开,Excel可以parsingHTML就好了。 除了那个令人讨厌的消息,它的作品。

一种select是在下载文件后将文件扩展名更改为html 。 Excel将仍然打开一个HTML文件,你会避免该消息。 而且,由于您正在以编程方式执行此操作,因此您不需要通过文件关联来确定要打开哪个程序。