1

これがExcelファイルを開いてデータを読み取るための私のコードです。すべてが正常に機能していますが、Excelファイルが読み取られたら閉じたいのですが、どうすればよいですか?オブジェクトを試しDisposeましたが、役に立ちませんでした。

public static DataTable ExcelWorkbook(string workbookName)
        {
            string connectionString = String.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=""Excel 8.0;HDR=YES;IMEX=1;""", FILENAME);
            string query = String.Format("select * from [{0}$]", workbookName);

            OleDbDataAdapter dataAdapter = new OleDbDataAdapter(query, connectionString);
            DataSet dataSet = new DataSet();
            dataAdapter.Fill(dataSet);

            dataAdapter.Dispose();

            DataTable myTable = dataSet.Tables[0];
            if (myTable != null)
                return myTable;

            return null;
        }
4

2 に答える 2

0

Excelファイル自体への参照ではなく、データを読み取るデータアダプタを破棄しています。

コードのどこかで、ブックを開いているはずです。あなたは電話する必要があります

workbook.Close();

http://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel.workbookclass.close(v=office.14).aspx

于 2012-09-25T21:55:18.730 に答える