如何读取已由其他用户在C#.Net中打开的excel文件

如何读取已由其他用户在C#.Net中打开的excel文件,c#,asp.net,.net,excel,c#-4.0,C#,Asp.net,.net,Excel,C# 4.0,我有一个excel文件,它已经被另一个用户打开了。请帮我看看怎么读。 我曾尝试在C#中使用以下代码并将其与READONLY=TRUE,但它无法解决我的问题 string stringConExcelMat = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\\PER_Sample\\Input\\6787GHHDSGioSack_v02.xls;Extended Properties=""Excel 8.0;HDR=NO;IMEX=1;READ

我有一个excel文件,它已经被另一个用户打开了。请帮我看看怎么读。 我曾尝试在C#中使用以下代码并将其与READONLY=TRUE,但它无法解决我的问题

string stringConExcelMat = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\\PER_Sample\\Input\\6787GHHDSGioSack_v02.xls;Extended Properties=""Excel 8.0;HDR=NO;IMEX=1;READONLY=TRUE""";


DataTable TTable = new DataTable("TABLEMAT");
using (OleDbConnection conn = new OleDbConnection(stringConExcelMat))
{
     conn.Open();
     using (OleDbDataAdapter da = new OleDbDataAdapter("SELECT * FROM [Raw_Data$A:T]", conn))
     {
         da.Fill(TTable);
     }
}
DataRow RowValues = TTable.Rows[1];

嗯,我不知道你在做什么,但是如果你需要很多用户使用一个数据源,那么我建议不要使用Excel。改用数据库(例如Access、SQL Server、Mysql、Postgresql…)。我认为您无法解决,因为Excel需要锁定文件。您是否已尝试先复制文件并读取复制的文件?您也可以尝试使用(这应该是最好的解决方案)。我也尝试过使用SQL Server。这在SQL中是不可能的。最好将FileStream用于只读。检查此url: