我使用visual studio 2008在c#上创建控制台应用程序。用代码覆盖excel文件
应用程序“读取”一个excel文件97-2003(.XLS)。
我使用喷气读取文件:
OleDbConnection oConn = new OleDbConnection();
oConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " + file_path + " ;Extended Properties=\"Excel 8.0;HDR=No;IMEX=1\";";
但运行的程序,我得到错误,当“外部表不是预期的格式。”
我曾尝试阅读的Excel与NPOI库文件,我得到了错误:
消息=“无效头标识;阅读0x0010000000060809,预计0xE11AB1A1E011CFD0”
所以,它就像该文件是无效某种方式。
如果通过Windows打开Office Excel上的excel文件,然后用相同和相同的扩展名.xls覆盖它,然后运行控制台应用程序,然后应用程序运行正常,没有错误。
所以,我想这样做是:用C#代码,打开文件并保存,并覆盖它,这样应用程序可以成功读取文件。
我想我可以打开这样的文件:
File.OpenWrite(file_path);
但我怎么能覆盖该文件?
你从哪里得到的源文件?是否有可能它不是一个真正有效的Excel“xls”文件,而是其他一些带有“xls”扩展名的文件格式? –
excel文件由另一个程序生成,所以它生成为excel文件。 – pyram
不要按这一点,但你确定吗?如果您查看内容,许多Web应用程序(例如)将生成“xls”文件,这些文件不过是HTML表格。 Excel可以打开它们,但其他应用程序可能会阻塞该格式。 –