gpt4 book ai didi

excel - OleDbConnection() 在任何打开的 Excel 窗口中打开 Excel 文件。但如果没有打开 window 则不会

转载 作者:行者123 更新时间:2023-12-02 06:55:52 25 4
gpt4 key购买 nike

我正在编写一个应用程序,它使用 OleDbAdapter 来访问 Excel 文件中的信息。当我尝试创建与 Excel 文件的连接时,如果用户在桌面上打开了另一个(不相关的)Excel 文件,则适配器连接到的文件会在此窗口中以只读格式打开。如果用户没有打开 Excel 实例,则文件将保持隐藏状态。

这是我的代码:

foreach (item app in apps)

{

DataTable dt = new DataTable();

string CnStr = ("Provider=Microsoft.Jet.OLEDB.4.0;" + ("Data Source="
+ ((app.FilePath) + (";" + "Extended Properties=\"Excel 8.0;\""))));

string OleDbString = ("Select * from [" + app.SheetName + "$]");

OleDbDataAdapter Adapter = new OleDbDataAdapter();

var conn = new OleDbConnection(CnStr);
conn.Open(); <----------------------------This is where the files are being opened.

var cmd = new OleDbCommand(OleDbString, conn);

Adapter.SelectCommand = cmd;


Adapter.Fill(app.DataTable);

conn.Close();

Adapter.Dispose();

}

有谁知道为什么如果 Excel 实例已打开,OleDbConnection() 会打开文件,但如果未打开 Excel 实例则不会打开文件?

最佳答案

您应该发布代码来初始化您的 apps 变量。您问题的答案很可能就在那里。它使用 GetObject 或 CreateObject 方法吗?

关于excel - OleDbConnection() 在任何打开的 Excel 窗口中打开 Excel 文件。但如果没有打开 window 则不会,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8229929/

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