读书人

[馨郁星愿] .net 操作Excel的有关问题

发布时间: 2011-12-31 23:50:30 作者: rapoo

[馨郁星愿] .net 操作Excel的问题!
System.Data.OleDb.OleDbException: Microsoft Jet 数据库引擎打不开文件 ' '。 它已经被别的用户以独占方式打开,或没有查看数据的权限。 at System.Data.OleDb.OleDbConnection.ProcessResults(Int32 hr) at System.Data.OleDb.OleDbConnection.InitializeProvider() at System.Data.OleDb.OleDbConnection.Open() at BJWeb.Mass.ExcelToString()

很奇怪的问题,本地机器测试通过,而到服务器上利用服务器上的浏览器执行程序也通过,但是我用我本地机器访问服务器,执行的时候就报错了~~~
这是为何?很不理解,请大家帮忙~~~附上代码:

Public Function ExcelToString() As String
Dim imagePath As String '文件路径
Dim imageType As String '文件类型
If Not FileUp.PostedFile.FileName Is Nothing Then
imagePath = FileUp.PostedFile.FileName
'取得文件类型
imageType = imagePath.Substring((imagePath.LastIndexOf( ". ") + 1))
If "xls " <> imageType Then
Response.Write( " <script language= 'javascript '> alert( '对不起!请您选择Excel文件! '); </script> ")
Return " "
Else
Try
Dim strConn As String = "Provider=Microsoft.Jet.OLEDB.4.0; " + "Data Source= " + imagePath + "; " + "Extended Properties=Excel 8.0; "
Dim conn As OleDbConnection = New OleDbConnection(strConn)
conn.Open()
Dim i As Integer
Dim sb As New System.Text.StringBuilder
Dim nRecCount As Integer
Dim MyDataTable As DataTable '创建MyDataTable对象


Dim strExcel As String = "select * from [sheet1$] "
Dim myCommand As OleDbDataAdapter = Nothing
Dim ds As DataSet = Nothing
myCommand = New OleDbDataAdapter(strExcel, strConn)
ds = New DataSet
myCommand.Fill(ds, "table1 ")
conn.Close()
MyDataTable = ds.Tables(0)
nRecCount = MyDataTable.Rows.Count()
For i = 0 To nRecCount - 1
sb.Append( " " & MyDataTable.Rows(i)(0) & "| ")
Next
Return sb.ToString()
Catch ex As Exception
Current.Response.Write(ex.ToString())
Finally
End Try
End If
End If
End Function

Mass.aspx页面上有上面这个函数,并且有一按纽与一个input控件,点击按妞后执行上面那段程序:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click


'导入手机号
Mobile.Text = ExcelToString()
End Sub

为什么会出现这样的错误?出现这样错误的解决方案呢?哪个遇到过,请指点一下

[解决办法]
这应该是你的access数据库库处于设计状态。
[解决办法]
把EXCEL的文件设成Everyone完全控制
[解决办法]
Extended Properties= " "Excel 8.0;HDR=Yes;IMEX=1 " "
[解决办法]
看别人是不是打开了那个文件。
[解决办法]
本地机器访问服务器,执行的时候就报错应该属于权限问题.....

[解决办法]
是权限问题,把你的excel的权限改为完全控制就行了

[解决办法]
试一下配置dcom
[解决办法]
excel所在文件夹加了asp.net iis_wpg,usr_机器名(匿名访问那个用户),加完全控制了吗.或者every加完全控制试试.看是不是权限的问题.

读书人网 >asp.net

热点推荐