Формат файла xlsx недействителен - PullRequest
0 голосов
/ 06 июня 2018

Я использовал System.IO для экспорта отчета в Excel.Он работает нормально для расширения .xls, но когда я изменил расширение на .xlsx, он выдает ошибку, т.е. неверное расширение или неправильный формат файла.

var grdview = new GridView();
            grdview.DataSource = this.GetSequence();
            grdview.DataBind();
            Response.ClearContent();
            Response.Buffer = true;
            Response.AddHeader("content-disposition", "attachment; filename= Search Report " + Date + " - " + Date1 + ".xls ");
            Response.ContentType = "application/ms-excel";
            Response.Charset = "";
            StringWriter strWriter = new StringWriter();
            HtmlTextWriter htmlWriter = new HtmlTextWriter(strWriter);
            htmlWriter.Write("<table><tr><td colspan='13' align='center'><font size='45'>Search Report of Regular Passenger</font></td></tr></table>");
            grdview.RenderControl(htmlWriter);
            Response.Output.Write(strWriter.ToString());
            Response.Flush();
            Response.End();

В чем проблема?

1 Ответ

0 голосов
/ 06 июня 2018

Проблема в том, что html не является ни xls, ни xlsx.

Для xls как устаревший формат Excel пытается решить вашу проблему и проверить все поддерживаемые форматы:

screensot

Но xlsx должно быть zip с некоторыми xml с, поэтому сообщение отличается:

screenshot

Вы должны использовать соответствующую библиотеку для создания настоящих файлов Excel.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...