gpt4 book ai didi

c# - 用代码覆盖excel文件

转载 作者:太空宇宙 更新时间:2023-11-03 13:41:15 26 4
gpt4 key购买 nike

我正在使用 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 文件,但出现错误:

消息 = "无效的 header 签名;读取 0x0010000000060809,预期为 0xE11AB1A1E011CFD0"

所以,就好像文件在某种程度上是无效的。

如果我通过 Windows 在 Office Excel 上打开 excel 文件,然后用相同的扩展名 .xls 覆盖它,然后运行控制台应用程序,然后应用程序运行正常,没有错误。

所以,我想做的是:使用 C# 代码,打开文件并保存并覆盖它,这样应用程序就可以成功读取文件。

我想我可以这样打开文件:

File.OpenWrite(file_path);

但是我怎么能覆盖文件呢?

最佳答案

据我所知,您不需要打开并重写它。您的连接字符串错误。你没有在任何地方说它是一个 Excel 文件,所以默认情况下它正在寻找一个 Access 数据库(并没有找到一个)。

试试这个:

Provider=Microsoft.Jet.OLEDB.4.0; data source="YourFileName.xls"; Extended Properties=Excel 8.0;

有关其他类型的连接,请参阅 ConnectionStrings

关于c# - 用代码覆盖excel文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16906961/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com