0

vb.netを使用してExcelファイルの値をメモ帳に書き込みます。私のコードでは、Excelファイルを開くためにoledbプロバイダーを使用していますが、Excelファイルを開くときにエラーが発生します。「phonedata.xlsx」という名前のファイル。システムのデスクトップに保存されています。ファイルアップロードコントロールを使用してそのファイルを取得します。

my code
-------
 Dim pathToCheck As String = filename
    If System.IO.File.Exists(pathToCheck) = "True" Then

        IO.File.Delete(filename)
    End If
    Dim sw As System.IO.StreamWriter = New System.IO.StreamWriter("D:\modellog.txt", True, System.Text.Encoding.UTF8)

    If FileUpload2.HasFile Then
        TextBox1.Text = FileUpload2.FileName
        Dim MyConnection As System.Data.OleDb.OleDbConnection
        Dim Ds As System.Data.DataSet
        Dim MyCommand As System.Data.OleDb.OleDbDataAdapter
        Try
            MyConnection = New System.Data.OleDb.OleDbConnection(("provider=Microsoft.ACE.OLEDB.12.0; " + ("data source=" _
                                  + (TextBox1.Text + ("; " + "Extended Properties=Excel 12.0;")))))
            MyCommand = New System.Data.OleDb.OleDbDataAdapter _
                ("select * from [Sheet1$]", MyConnection)
            Ds = New System.Data.DataSet
            MyCommand.Fill(Ds)


error
-----
The Microsoft Office Access database engine cannot open or write to the file ''. It is already opened exclusively by another user, or you need permission to view and write its data.
4

1 に答える 1

1

権限の問題のようです。C:\ tempなど、別の場所にファイルをコピーしてみましたか?そして、ファイル上のすべての人に少なくとも一時的にフルコントロールを付与しようとしましたか?それがその後機能する場合は、それがアクセス許可の問題であることがわかっているので、適切なアクセス許可のレベルを把握する必要があります(すべての人が完全に制御できるようにしたくない)。

于 2012-08-20T16:16:24.183 に答える