Asp.net 将创建的excel文件保存到服务器上

Asp.net 将创建的excel文件保存到服务器上,asp.net,excel,Asp.net,Excel,我正在使用Respose.Write在ASP.NET C#中创建一个excel文件,我的用户可以将创建的文件保存在他们的系统上,但我想将此excel文件保存在我的服务器上,而用户对此一无所知。怎么可能呢?以下是我创建Excel文件的方式: Response.Clear(); Response.Buffer = true; Response.AddHeader("content-disposition", "attachment;filename=" + "res"

我正在使用Respose.Write在ASP.NET C#中创建一个excel文件,我的用户可以将创建的文件保存在他们的系统上,但我想将此excel文件保存在我的服务器上,而用户对此一无所知。怎么可能呢?以下是我创建Excel文件的方式:

        Response.Clear();
    Response.Buffer = true;
    Response.AddHeader("content-disposition", "attachment;filename=" + "res" + ".xls");
    Response.Charset = "";
    Response.ContentType = "application/vnd.ms-excel";

Response.Write(“”);
Response.Flush();
Response.End();

这段代码将创建的excel文件保存到客户端PC上,但我想将创建的文件保存到服务器上。一般的想法是将excel文件的内容写入缓冲区。然后a)将其保存到文件中,b)将其流式传输到客户端。您需要在服务器上使用唯一的文件命名约定(例如,包括时间戳)。IIS应用程序池还需要对要将文件保存到的文件夹具有写入权限

StringBuilder excel = new StringBuilder();
excel.Append("<table>");
...
excel.Append("</table>");

// save to file
File.WriteAllText("C:\\blah.xls", excel.ToString());

// output to response
Response.Clear();
Response.Buffer = true;
Response.AddHeader("content-disposition", "attachment;filename=" + "res" + ".xls");
Response.Charset = "";
Response.ContentType = "application/vnd.ms-excel";
Response.Write(excel.ToString());
Response.End();
StringBuilder excel=新建StringBuilder();
excel.追加(“”);
...
excel.追加(“”);
//保存到文件
File.writealText(“C:\\blah.xls”,excel.ToString());
//输出到响应
Response.Clear();
Response.Buffer=true;
AddHeader(“内容处置”、“附件;文件名=“+”res“+”.xls”);
响应。Charset=“”;
Response.ContentType=“application/vnd.ms excel”;
Response.Write(excel.ToString());
Response.End();

您应该阅读C#中的基本文件系统输入和输出。您的问题表明,在询问之前,您甚至没有尝试自己解决这个问题。您是如何生成Excel文件的?它看起来像是通过生成一个HTML表,对吗?是的,我将它生成为一个HTML表,我可以将它提供给我的客户端下载,但我知道我想将它保存在服务器上
StringBuilder excel = new StringBuilder();
excel.Append("<table>");
...
excel.Append("</table>");

// save to file
File.WriteAllText("C:\\blah.xls", excel.ToString());

// output to response
Response.Clear();
Response.Buffer = true;
Response.AddHeader("content-disposition", "attachment;filename=" + "res" + ".xls");
Response.Charset = "";
Response.ContentType = "application/vnd.ms-excel";
Response.Write(excel.ToString());
Response.End();