如何发送一个Excel工作簿作为回应?

我试图在代码隐藏中创build一个Excel工作表,然后下载它。 我不想保存在磁盘上的文件,我想直接发送它作为回应,我试了下面的代码。 但我没有得到确切的优秀。

Excel.Application xlApp; Excel.Workbook xlWorkBook; Excel.Worksheet xlWorkSheet; object misValue = System.Reflection.Missing.Value; xlApp = new Excel.ApplicationClass(); xlWorkBook = xlApp.Workbooks.Add(misValue); xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1); for (int i = 1; i <= 100; i++) for (int j = 1; j < 100; j++) xlWorkSheet.Cells[i, j] = i + " : " + j; Response.ContentType = "application/vnd.ms-excel"; Response.AppendHeader("Content-Disposition", "attachment; filename=translationText.xls"); this.EnableViewState = false; Response.Write(xlWorkSheet); Response.End(); xlWorkBook.Close(true, misValue, misValue); xlApp.Quit(); releaseObject(xlWorkSheet); releaseObject(xlWorkBook); releaseObject(xlApp); 

如何发送Excel工作表对象作为响应。 所以,这个用户会被提示下载excel文件

 Response.ContentType = "application/vnd.ms-excel"; Response.AppendHeader("Content-Disposition", "attachment; filename=translationText.xls"); Response.Write("<table>"); for (int i = 1; i <= 100; i++) { Response.Write("<tr>"); for (int j = 1; j < 100; j++) { Response.Write("<td>"+i + " : " + j+"</td>"); } Response.Write("</tr>"); } Response.Write("</table>"); Response.Flush(); Response.End(); 

尝试上面的代码,你不需要在这里创build一个Excel对象,如果你正在从Excel中读取,然后写它是不同的代码。

以及不同的代码来读取和写入的Excel文件浏览器是由

 Response.BinaryWrite(yourexcelstream)