Визуализация файла Excel

Я на самом деле рендеринг файла Excel в браузере. Я использую Response.Writefile (filePath), чтобы избежать этого. Он отлично работает на нескольких машинах. Я получаю всплывающее окно с опциями «Открыть», «Сохранить» и «Отмена».

Но если после нажатия кнопки «Сохранить» во всплывающем окне осталось несколько машин, пустая страница остается открытой. Это происходит только в нескольких машинах. Это окно просто мигает в другой машине и закрывается само по себе. Пожалуйста, дайте мне знать, что можно сделать, чтобы эта простая пустая страница не закрывалась после открытия или сохранения файла.

12.12.2008 08:38:57
2 ОТВЕТА
РЕШЕНИЕ

Вы устанавливаете какие-либо заголовки HTTP? Если нет, то вы полагаетесь на браузер, чтобы правильно интерпретировать данные.

Чтобы сообщить браузеру, что вы отправляете контент Excel:

Response.ContentType = "application/x-excel";

Чтобы браузер считал ответ загруженным:

Response.AddHeader("content-disposition", "inline; filename=\"" + YourSuggestedFileName + "\"");

Машины, доставляющие вам неприятности, скорее всего, не знают, что делать с данными Excel.

2
12.12.2008 13:22:09
Это сработало нормально. но у меня все еще есть проблема. Когда это открывается на отдельной странице проводника, мне нужно получить возможность сохранить файл как файл file.xls. Но когда я захожу в приложение, я отключаю строку меню. Есть ли возможность включить ее только для этой страницы?
Vinod 23.12.2008 06:20:00
Это работает и в ASP.NET MVC 3, как вы уже писали. Очень полезный.
Kezzer 21.06.2011 11:49:03

Проблема этого подхода заключается в том, что поля даты и числовые поля отображаются в виде строки. Конечный пользователь должен затем явно изменить тип для этих полей, если он хочет отсортировать их.

Если у вас есть бюджет, я предлагаю использовать такой компонент, как: Aspose.Cells

0
19.12.2008 12:47:56