目前的方式是程序中生成EXCEL文件到服务器物理硬盘上,然后再用response.writefile输出到客户端.
请问,有没有哪种方式,能不在物理硬盘上生成文件,然后在下载?

解决方案 »

  1.   

    直接把内容输入到PAGE的datagrid上,然后让他显示成EXCEL形式就可以了,那样是保存在客户端的临时文件中。
      

  2.   

    读成二进制流,然后response.binarywrite
      

  3.   

    不能保存在客户端的临时文件夹下,点"帐票生成"按钮后,应该出现下载对话框,有打开或保存或取消的操作.            objFile = New IO.FileInfo(strFilePathName)
                Response.Clear()
                Response.AddHeader("Content-Disposition", _
                    "attachment; filename=" & HttpUtility.UrlEncode(objFile.Name))
                Response.AddHeader("Content-Length", objFile.Length.ToString())
                Response.ContentType = "application/octet-stream"
                Response.WriteFile(objFile.FullName)
                Response.End()
    这是我的程序实现,不过strFilePathName所指定的文件是在前面程序生成在服务器端物理硬盘上的,我现在不想让生成的文件先保存在硬盘上再提供下载,请问有什么办法.