要给权限才行,我导出pdf时候也遇到过,给报表所在的文件夹和你要导到的文件夹都给上权限试试

解决方案 »

  1.   

    若要授予 ASP.NET 对文件的写访问权,请在资源管理器中右击该文件,选择“属性”,然后选择“安全”选项卡。单击“添加”以添加“{machinename}\ASPNET”用户。突出显示此 ASP.NET 帐户,在“允许”列中选中“写”框。
    提示已经很清楚了
      

  2.   

    1.先杀掉进程
    2.在web.config里面
    <system.web>
    .....................加入
    <identity impersonate="true" userName="yourmachine\administrator" password="yourpassword"></identity>
     </system.web>
      

  3.   

    开始->运行->"dcomcnfg"->在应用程序列表框中选择“Microsoft Excel 应用程序”->
    “安全性”->选择“使用自定义访问权限”,点击“编辑”按钮
    添加本地“ASPNET”用户,权限为“允许访问”
    “安全性”->选择“使用自定义启动权限”,点击“编辑”按钮
    添加本地“ASPNET”用户,权限为“允许访问”如果还不行,就“使用自定义配置权限”,添加或修改相应用户的权限
      

  4.   

    请在资源管理器中右击该文件,选择“属性”,然后选择“安全”选项卡。单击“添加”以添加“{machinename}\ASPNET”用户。突出显示此 ASP.NET 帐户,在“允许”列中选中“写”框

    运行dcomcnfg.exe修改Excel应用程序设置,为其添加ASP.NET用户
      

  5.   

    我的代码如下:
    没有设置什么输出路径,应该是默认路径,看有什么问题吗
        Public Class inout
            Sub excel_in(ByVal mysql As String, ByVal strsql As String)
                Dim myapp As New Excel.Application()
                Dim xlsbook1 As Excel.Workbook
                xlsbook1 = myapp.Workbooks.Add()
                Dim xlssheet1 As Excel.Worksheet
                xlssheet1 = xlsbook1.Sheets("sheet1")
                Dim cn As New SqlConnection(mysql)
                'cn.Open()
                'Dim strsql As String = "select * from yourtablename"
                Dim adapter As SqlDataAdapter
                Dim ds As New DataSet()
                adapter.Fill(ds, "table")
                If ds.Tables("table").Rows.Count > 0 Then
                    Dim rowscount As Integer = ds.Tables("table").Rows.Count
                    Dim cmd As New SqlCommand(strsql, cn)
                    Dim dr As SqlDataReader
                    dr = cmd.ExecuteReader(CommandBehavior.CloseConnection)
                    While dr.Read
                        Dim i As Integer
                        For i = 1 To rowscount
                            Dim k As Integer
                            For k = 1 To dr.FieldCount
                                xlssheet1.Cells(i, k) = dr.Item(k - 1)
                            Next k
                        Next i
                        dr.Close()
                        myapp.Quit()
                    End While
                End If
                cn.Close()        End Sub