我要将dataset的内容发给客户端,我现在服务器端生成一excel文件,然后将其中的数据导入excel,再将该excel文件发给客户端,最后必须删除该excel文件,我将删除excel文件的代码分别放在两出,page_load,page_unload如下,问题是page_unload中不行,错误信息:无法找到该页
您正在搜索的页面可能已经删除、更名或暂时不可用。当然只要删除一次就行了,但我就像知道为什么
page_unload的中不行,请大家讨论,在线等。代码如下:    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        '在此处放置初始化页的用户代码
        If Not IsPostBack Then
           
            '..生成dataset中........................
省了
.................           End If,若文件存在,则删除删除
        If File.Exists("D:\XingXinProject\WebSite\WHModule\PrintDatagrid\aa.xls") Then
            File.Delete("D:\XingXinProject\WebSite\WHModule\PrintDatagrid\aa.xls")
        End If        'File.Delete("D:\XingXinProject\WebSite\WHModule\PrintDatagrid\aa.xls")
    End Sub    Private Sub ImportToExcel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ImportToExcel.Click        If File.Exists("D:\XingXinProject\WebSite\WHModule\PrintDatagrid\aa.xls") Then
            File.Delete("D:\XingXinProject\WebSite\WHModule\PrintDatagrid\aa.xls")
        End If
        Dim RowIndex As Integer
        Dim ColIndex As Integer        Dim Table As System.Data.DataTable
        Dim Row As DataRow
        Dim Col As DataColumn        RowIndex = 1
        ColIndex = 0
 ‘定义excel格式及数据
..........................
省了
.................        xlBook.Saved = True
        Excel1.UserControl = False        Dim mm = Server.MapPath(".") + "\aa.xls"   '服务器保存地址
        ' Dim mm = "D:\XingXinProject\WebSite\WHModule\PrintDatagrid\aa.xls"
        ' Excel1.ActiveWorkbook.SaveCopyAs(mm)
        Excel1.ActiveWorkbook.SaveAs(mm)       '停止excel        WSheet = Nothing
        xlBook = Nothing
        Excel1.Quit()
        Excel1 = Nothing
        GC.Collect()
        GC.WaitForPendingFinalizers()'发送给客户端
        Response.Redirect("aa.xls")
    End Sub
       Private Sub Page_Unload(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Unload
,若文件存在,则删除删除,不把它隐藏就出现错误,??????????????
        If File.Exists("D:\XingXinProject\WebSite\WHModule\PrintDatagrid\aa.xls") Then
            File.Delete("D:\XingXinProject\WebSite\WHModule\PrintDatagrid\aa.xls")
        End If    End Sub

解决方案 »

  1.   

    没有细看你的程序.写法有一点问题.(@"D:\XingXinProject\WebSite\WHModule\PrintDatagrid\aa.xls")或("D:\\XingXinProject\\WebSite\\WHModule\\PrintDatagrid\\aa.xls")
      

  2.   

    page_unload我没有试过,我是建立了一个临时文件目录,在系统登录的时候或者下载excel的时候去判断一下临时目录里的文件的建立日期是否比当前日期小(我设定了10分钟),如果大于10分钟,那么就删除十分前的文件。我觉得应该比你这样处理要容易得多,另外临时文件的命名都是采用的yyyyMMdd格式,再加上一个时间随机数,这样就解决了
      

  3.   

    请问happer6012()
    能不能给我你的代码呀,最好加一些注释哦,谢谢了