将字符串保存成本地文件

突然想能不能将保存在变量中的字符串也以弹出保存窗口的方式保存成本地的文件呢?实现了下发现也不是很难,只是得注意含有中文时必须先对其进行处理,最好是将字符串处理成二进制字符串就没问题了。

<%
'支持中文的把普通字符串转成二进制字符串的函数
Function str2bin(varstr)
    Dim varasc
    Dim i
    Dim varchar
    Dim varlow
    Dim varhigh
    
    str2bin=""
    For i=1 To Len(varstr)
        varchar=mid(varstr,i,1)
        varasc = Asc(varchar)
        
        If varasc<0 Then
        varasc = varasc + 65535
        End If
        
        If varasc>255 Then
        varlow = Left(Hex(Asc(varchar)),2)
        varhigh = right(Hex(Asc(varchar)),2)
        str2bin = str2bin & chrB("&H" & varlow) & chrB("&H" & varhigh)
        Else
        str2bin = str2bin & chrB(AscB(varchar))
        End If
    Next
End Function

Dim sStr
sStr = "木子屋-http://www.mzwu.com/"

Response.AddHeader "Content-Disposition","attachment;filename=test.txt"  
Response.AddHeader "Content-Length",LenB(sStr)    
Response.CharSet = "GB2312"    
Response.ContentType = "application/octet-stream"    
Response.BinaryWrite  str2bin(sStr)
Response.Flush
%>

如果将sStr的内容改为如下格式:

sStr = "name" & chr(9) & "age" & chr(9) & vbcrlf & "张三" & chr(9) & "20" & vbcrlf & "李四" & chr(9) & "24"

就能保存成Excel文件了哦,呵呵。

评论: 0 | 引用: 0 | 查看次数: 4569
发表评论
登录后再发表评论!