Файла Excel в другой формат указываемого его расширением имени файла (в формате Excel, экспортированный из 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 4

1 ответ:

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

Microsoft.Офис.Взаимодействие.Excel

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