Oledb无法访问文件修复

时间:2015-04-02 08:23:41

标签: c# .net excel oledb

对于一个小项目,我需要创建一个填充Excel表格数据的DataTable。我使用Oledb连接获取此数据。有时其他人在服务器上使用此文件。所以我得到“进程无法访问该文件,因为它正被另一个进程使用”

private DataTable excelSelectStatement() {
        try {
            string par = this._colParameters.getParameterByName("SheetName", false, null).Value;
            excelDataSet = new DataSet();
            string ace12 = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" + _selectionStatement + "';Extended Properties='Excel 12.0;HDR=YES;IMEX=1;';";
            using (OleDbConnection connection = new OleDbConnection(ace12)) {
                OleDbDataAdapter da = new OleDbDataAdapter("select * from [" + par + "$]", connection);
                da.TableMappings.Add("Table", "TestTable");
                da.Fill(excelDataSet);
            }
        }
        catch (Exception e) { MessageBox.Show(e.Message); }
        return excelDataSet.Tables[0];
    }

有没有办法用Oledb完成这个?

0 个答案:

没有答案