Я действительно представляю файл excel в браузере. Я использую Response.Writefile(filePath), чтобы это сделать. Он работает отлично в немногих машинах. Я получаю всплывающее окно с опциями "Открыть", "Сохранить" и "Отменить".
Но запустите несколько машин после того, как я сделаю сохранение, нажмите на всплывающее окно, где пустое место остается открытым. Это происходит только в нескольких машинах. Это окно просто мерцает на другой машине и закрывается само по себе. Пожалуйста, дайте мне знать, что можно сделать, чтобы эта простая пустая страница была закрыта сама по себе после того, как файл был открыт или сохранен.
Вы настраиваете HTTP-заголовки? Если вы этого не сделаете, вы полагаетесь на браузер, чтобы правильно интерпретировать данные.
Чтобы сообщить обозревателю, вы отправляете контент excel:
Response.ContentType = "application/x-excel";
Чтобы сообщить обозревателю ответ на запрос как загрузку:
Response.AddHeader("content-disposition", "inline; filename=\"" + YourSuggestedFileName + "\"");
Машины, дающие вам проблемы, вероятно, не знают, что делать с данными excel.
Проблема с этим подходом заключается в том, что поля даты и числовые поля отображаются как строка. Конечный пользователь должен затем явно изменить тип для этих полей, если они хотят их сортировать.
Если у вас есть бюджет, я предлагаю использовать такой компонент, как: Aspose.Cells