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

时间:2017-12-06 12:22:01

标签: c# excel oledb

我有一个奇怪的问题,我正在从网站检索excel文件(.xls),然后将数据公开为JSON,所有工作文件都带有虚拟文档,直到我开始使用真实数据进行测试,如果我下载文件在excel中打开它之前运行我的代码我得到:“外部表格不是预期的格式。”,当我在excel中打开文件时,excel给出了一个警告:“文件的格式与扩展名指定的格式不同“但是,如果我用excel(2010)保存它并选择保持相同格式和扩展名的选项,它就可以正常工作。我正在考虑的解决方法是在每个下载周期后自动执行excel打开并保存文件,但我很乐意找到真正的解决方案。 Excel 代码: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);

1 个答案:

答案 0 :(得分:1)

问题是web开发人员用表创建一个html文件并给它一个xls扩展名而不是html扩展名。他们知道用户文件扩展名关联将导致它在Excel中打开,Excel可以解析html就好了。除了恼人的消息之外,它还可以。

一个选项是在下载后将文件扩展名更改为html。 Excel仍将打开一个html文件,您将避免该消息。由于您以编程方式执行此操作,因此您无需使用shell来计算通过文件关联打开的程序。