如何将数据集导出到xls并保存在服务器硬盘上

时间:2012-08-26 18:20:05

标签: c# asp.net .net security download

我使用以下代码将数据集转换为xls。它工作正常,但它会引发错误。 (一些格式化问题)

我想在未经用户许可的情况下保存在特定位置创建的xls文件。

conn.Open();
SqlDataAdapter getData = new SqlDataAdapter("SELECT * FROM profile", conn);
data.Clear();
getData.Fill(data);
conn.Close();
HttpResponse response = HttpContext.Current.Response;
response.Clear();
response.Charset = "";
response.ContentType = "application/vnd.ms-excel";
response.AddHeader("Content-Disposition", "attachment;filename=\"" +"siv" +"\"");
using (StringWriter sw = new StringWriter())
using (HtmlTextWriter htw = new HtmlTextWriter(sw))
{
    DataGrid dg = new DataGrid();
    dg.DataSource = data.Tables[0];
    dg.DataBind();
    dg.RenderControl(htw);
    response.Write(sw.ToString());
    response.End();
}

1 个答案:

答案 0 :(得分:6)

这显然是不可能的,因为这会带来巨大的安全风险。您无法将文件拖放到用户硬盘上。

没有需要用户同意的解决方法。如果有的话,我会非常紧张地使用网络浏览器...

如果你设法做到这一点,谷歌作为安全奖励计划的一部分可能会奖励50,000美元现金。