Nokia Lumia 920 Excel не открывается

Я разработал отзывчивый веб-сайт на asp.net с использованием C #, и он отлично работает как на рабочем столе, так и на мобильном устройстве, все функции работают нормально.

Но в Nokia Lumia 920, когда я загружаю Excel, он загружается, но не открывается в телефоне. Выдает ошибку, например, неправильный формат

Я использовал указанный ниже код для загрузки Excel

Response.AddHeader("content-disposition", "attachment;filename=" + ExcelFileName + ".xlsx");
Response.Charset = "";
Response.ContentType = "application/vnd.ms-excel";
StringBuilder build = new StringBuilder();
//buid contain data
Response.Output.Write(build.ToString());
Response.Flush();
Response.End();

Какое может быть решение?


person Dhaval Patel    schedule 02.09.2014    source источник
comment
Попробуйте изменить ContentType на application / vnd.openxmlformats-officedocument.spreadsheetml.sheet. Кроме того, вы уверены, что вам нужно это размещение содержимого заголовка? Обычно это вложения к электронным письмам   -  person Stefano Driussi    schedule 02.09.2014
comment
@StefanoDriussi: Нет, он все еще дает мне ту же ошибку   -  person Dhaval Patel    schedule 02.09.2014


Ответы (1)


С телефоном все в порядке, проблема в вашем коде. Вы обслуживаете html, и в заголовках ответов указано, что ответ - xlsx, поэтому на самом деле это неправильный формат, это не xlsx, как ожидает телефон.

На настольном компьютере это работает только потому, что настольный Excel знает, как использовать таблицы html и отображать его как лист Excel, но AFAIK Excel 2007 и более новые версии предупреждают пользователя о том, что данные находятся в неправильном формате.

Единственное решение - использовать некоторую библиотеку Excel и создать настоящий файл Excel. Например, используйте EPPlus, это просто и нормально работает на сервере.

Вот пример экспорта ADO.NET DataTable в Excel Sheet и его передачи клиенту:

https://stackoverflow.com/a/9569827/351383

person Antonio Bakula    schedule 02.09.2014
comment
он работает на всех других телефонах, он просто не работает на Nokia Lumia 920 - person Dhaval Patel; 02.09.2014