code


'--- 導出Excel 報表時, 會出現 Excel 進程無法 殺掉的情況;
應 將輸出報表的部分代碼寫成一個 類;

實際執行時, 將產生的 dataSet 傳給 這個 類;
(在這個類中, 包含 了 excel 進程的注銷代碼)

執行結束後, 
再將這個類注銷一次;

即可;
'--------------------

        If Not Page.IsPostBack Then

            '2006-08-14 Added
            ' 防止非法登入
            If Context.User.Identity.Name = Nothing Then
                Response.Write("<script defer>alert('Session 已過期 或 非法登入! 請重新登入')</script")
                Exit Sub
            End If
         End If


'--------------------

#Region "清除產生的歷史報表"
    Private Sub clearHistoryReport(ByVal path As String, ByVal kzm As String)
        Dim intx As Integer
        Dim aa As String
        Dim str() As String
        '  path = path + "/rpt"
        str = Directory.GetFiles(path, kzm)
        '  directory.GetFiles("",

        For intx = 0 To str.Length - 1
            aa = Directory.GetCreationTime(str(intx))
            aa.Substring(0, 10)
            If aa.Substring(0, 10) <> System.DateTime.Today.ToString().Substring(0, 10).ToString Then
                File.Delete(str(intx))
            End If
        Next
    End Sub
    'Function del(ByVal path As String, ByVal kzm As String)
    '    Dim intx As Integer
    '    Dim aa As String
    '    Dim str() As String
    '    path = path + "/Template"
    '    str = Directory.GetFiles(path, kzm)
    '    For intx = 0 To str.Length - 1
    '        aa = Directory.GetCreationTime(str(intx))
    '        aa.Substring(0, 10)
    '        If aa.Substring(0, 10) <> System.DateTime.Today.ToString().Substring(0, 10).ToString Then
    '            File.Delete(str(intx))
    '        End If
    '    Next
    'End Function
#End Region


'-----------------------------------------------------------------------------------


'--將已編碼(server.htmlEncode)的 數據, 解碼後  賦值給其它變量;
'--經過測試, 建議2 次使用 HtmlDecode , 否則 仍將會有 不期望的字符出現。
oCells(rowbegin+1+1,7)
    = server.htmlDecode(server.htmlDecode(myds.table(0).Rows(i).Item("memo")))

'--- 將文件讀取後, 顯示在 客戶端;

If System.IO.File.Exists(Server.MapPath("~") + "/rpt/" + fileOut) Then
    Response.Write("<script language=javascript>window.open('rpt/" + fileOut + "','report','top=15,left=15,width=800,height=500,scrollbars=yes,resizable=yes,status=yes,toolbar=true,menubar=yes')</script>")
End If

'---不能打開 server 端的 excel 的問題解決了。
原來 是 page_load 裡的一句話 導致的,  把它刪除就可以了。
 
page.smartNavigation  = true

可使用下面方法替代:
 
<body
  οnscrοll="document.Form1.txtScrollTop.value = document.body.scrollTop;" οnlοad="javascript:document.body.scrollTop=document.getElementById('txtScrollTop').value;"
  >


 <INPUT id="txtScrollTop"   type="hidden" size="1" runat="server">

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值