Я уже создал файл ashx, чтобы открыть Excel 2007 на сайте.Как открыть Excel 2007/2010 в браузере с помощью .ashx?
Вот код в test.aspx: (вызов Test.htm, чтобы открыть всплывающее окно)
<a href="test.htm" target="_blank">Export</a>
Вот код в Test.htm: (с помощью IFRAME, чтобы загрузить файл Excel)
<iframe src="handler1.ashx" style="height: 421px; width: 800px" ></iframe>
Вот код в handle.ashx:
void ProcessRequest(HttpContext context)
{
string filePath = "E:/test.xlsx";
string filename = Path.GetFileName(filePath);
context.Response.Clear();
context.Response.AddHeader("Content-Disposition", "inline;filename=test.xlsx");
context.Response.Charset = "";
context.Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
context.Response.WriteFile(filePath);
context.Response.Flush();
context.Response.End();
}
но файл Excel всегда открыт Применение Microsoft Excel. Пожалуйста, помогите мне.
Большое вам спасибо.
привет Ravi, Я попытался изменить код, как показано ниже, но у него есть ошибка (не может открыть ebcause формат файла или файла внеш не является действительным) при открытии файла: FileStream фс = новый FileStream (filePath, FileMode.Open, FileAccess.Read); byte [] b = новый байт [(int) fs.Length]; fs.Read (b, 0, (int) fs.Length); fs.Close(); context.Response.Write (b); –