0

我正在使用以下代码将数据导出为 csv 格式。通常它存储在系统桌面中。我想保存各种位置,这就是为什么需要保存对话框。但是我做不到,请帮我做..

我的部分代码在这里:

       StringBuilder sb = new StringBuilder();
        var columnNames = dt.Columns.Cast<DataColumn>().Select(column => column.ColumnName).ToArray();
        sb.AppendLine(string.Join(",", columnNames));
        foreach (DataRow row in dt.Rows)
        { var fields = row.ItemArray.Select(field => field.ToString().Replace(","," "));
        sb.AppendLine(string.Join(",", fields));
        }
        File.WriteAllText(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) +"/test.csv", sb.ToString()); 
4

1 回答 1

0

如果您需要打开一个保存对话框,您需要将 content-disposition 标头添加到您的响应中,如下所示:

Response.AddHeader("content-disposition", "attachment;filename=test.csv");

现在您可以将字符串写入响应:

Response.Write(sb.ToString());
Response.End(); //VERY IMPORTANT
于 2012-06-19T13:46:07.697 回答