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 に答える