我正在使用 Visual Studio 2008 在 C# 上创建控制台应用程序。
应用程序“读取”一个 excel 文件 97-2003 (.XLS)。
我正在使用 jet 读取文件:
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\";";
但是在运行程序时出现错误“外部表不是预期的格式”。
我尝试使用 NPOI 库读取 excel 文件,但出现错误:
消息 =“无效的标头签名;读取 0x0010000000060809,预期为 0xE11AB1A1E011CFD0”
所以,就好像文件在某种程度上是无效的。
如果通过 Windows,我在 Office Excel 上打开 excel 文件,然后使用相同且相同的扩展名 .xls 覆盖它,然后运行控制台应用程序,然后应用程序运行良好,没有错误。
所以,我想做的是:用c#代码打开文件并保存并覆盖它,这样应用程序就可以成功读取文件。
我想我可以像这样打开文件:
File.OpenWrite(file_path);
但是我怎么能覆盖文件呢?