繁体   English   中英

C#通过OleDb读取打开的Excel文件

[英]C# read open Excel file through OleDb

我需要使用.NET 3.5连接到打开的 Excel 2003文件

我试图使用的OleDb连接似乎只需要该文件。 但我需要在Excel中同时打开此文件。

非锁定读数是否可行?

编辑:我打开它之前通过复制文件解决了这个问题。

这个问题似乎没有答案。 我不能删除它....

我的解决方案是 - 在计时器上运行宏来保存有问题的excel文件,C#app正在将文件复制到另一个并使用OleDb读取它。

这似乎是一个类似的问题: 使用OLEDB写入excel文件

这对你有用吗?

打开Excel文档时传入的参数是什么? 你能将Workbook.Open()中的“ReadOnly”参数设置为true吗? 看到这里。

请参阅下面的代码,了解如何将Excel数据的信息转换为数组。 然后,您将在该Excel工作表上执行任何验证。

var fileName = @"D:\Pavan\WorkDiployed.xlsx";
var connectionString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0; data source={0}; Extended Properties=Excel 12.0;", fileName);
OleDbConnection con = new System.Data.OleDb.OleDbConnection(connectionString);
OleDbDataAdapter cmd = new System.Data.OleDb.OleDbDataAdapter("select * from [Sheet1$]", con);

con.Open();
System.Data.DataSet excelDataSet = new DataSet();
cmd.Fill(excelDataSet);
DataTable data = excelDataSet.Tables[0];

DataRow[] arrdata = data.Select();

foreach (DataRow rw in arrdata)
{
    object[] cval = rw.ItemArray;
}           

con.Close();
MessageBox.Show (excelDataSet.Tables[0].ToString ()); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM