0

我使用以下代码将数据集转换为 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();
}
4

1 回答 1

6

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

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

如果您设法做到这一点,您可能会获得 Google 的 50,000 美元现金奖励,作为其安全奖励计划的一部分。

于 2012-08-26T18:25:40.120 回答