0

以下のコードを使用しており、それがどのタイプのアプリケーションであるかを指定しています。ただし、アプリケーションを開くように求められたとき、ブラウザーはファイルの種類を認識しません。ブラウザですでにExcelとして開きたいようにするにはどうすればよいですか?

どんな助けでも大歓迎です

public static void ExportToSpreadsheet(DataTable table, string name)
{
    HttpContext context = HttpContext.Current;
    context.Response.Clear();
    foreach (DataColumn column in table.Columns)
    {
        context.Response.Write(column.ColumnName + "\t");
    }
    context.Response.Write(Environment.NewLine);
    foreach (DataRow row in table.Rows)
    {
        for (int i = 0; i < table.Columns.Count; i++)
        {
            context.Response.Write(row[i].ToString() + "\t");
        }
        context.Response.Write(Environment.NewLine);
    }
    context.Response.ContentType = "application/ms-excel";
    context.Response.AppendHeader("Content-Disposition", "attachment; filename=" + name+ ".xls");
    context.Response.End();
}
4

1 に答える 1

0

試す:

Response.ContentType = "application/vnd.ms-excel";

またはxlsxの場合

Response.ContentType = "application/application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
于 2012-11-24T21:55:29.890 に答える