Файл Excel находится в другом формате, указанном расширением файла (Excel экспортирован из gridview) - PullRequest
4 голосов
/ 25 мая 2011

Я экспортирую gridview в файл Excel, и он открывается просто отлично.Единственное, это предупреждение всегда появляется при каждом открытии файла Excel:

The file you are trying to open < > is in a different format than specified by the file extension. Verify that the file is not corrupted and is from a trusted source before opening the file. Do you want to open the file now?

Код, который я использую:

        HttpContext.Current.Response.Clear();
        HttpContext.Current.Response.AddHeader("content-disposition", string.Format("attachment; filename={0}", "Single_Raw.xls"));
        HttpContext.Current.Response.ContentType = "application/vnd.ms-excel";

    using (StringWriter sw = new StringWriter())
    {
        using (HtmlTextWriter htw = new HtmlTextWriter(sw))
        {
           // some code

            HttpContext.Current.Response.Write(sw.ToString());
            HttpContext.Current.Response.End();
        }
    }

1 Ответ

2 голосов
/ 25 мая 2011

Это потому, что Excel знает, что это не настоящий файл Excel, даже если вы назвали его с расширением .xls. В прошлом, чтобы избежать этого предупреждения, я использовал ссылку Microsoft.Office.Interop.Excel для создания выходного файла. После этого у вас будет законный файл Excel.

Microsoft.Office.Interop.Excel

Редактировать: Я погуглил и нашел это предложение от Microsoft, но оно требует от вас взломать реестр компьютера клиента (возможно, нереально).

...