CSV エクスポートで [ファイルの保存] ダイアログ ボックスを表示するのに苦労しています。ファイルに保存できますが、ユーザーは保存できません。コードのどこが間違っているのか、誰にもわかりますか?
string filename = Server.MapPath("~/download.csv");
StreamWriter sw = new StreamWriter(filename, false);
int iColCount = dt.Columns.Count;
for (int i = 0; i < iColCount; i++)
{
sw.Write(dt.Columns[i]);
if (i < iColCount - 1)
{
sw.Write(",");
}
}
sw.Write(sw.NewLine);
foreach (DataRow dr in dt.Rows)
{
for (int i = 0; i < iColCount; i++)
{
if (!Convert.IsDBNull(dr[i]))
{
sw.Write(dr[i].ToString());
}
if (i < iColCount - 1)
{
sw.Write(",");
}
}
sw.Write(sw.NewLine);
}
sw.Close();
Response.Clear();
Response.ContentType = "application/csv";
Response.AddHeader("Content-Disposition", "attachment; filename=download.csv");
Response.WriteFile(filename);
Response.Flush();
Response.End();
ダイアログ ボックスを表示した Content Disposition 行を考えましたが、他に何かする必要があるかもしれません。
ありがとう