【发布时间】:2012-10-15 21:59:57
【问题描述】:
我正在尝试在代码隐藏中创建一个 Excel 工作表,然后下载它。我不想将文件保存在磁盘上,我想直接将其作为响应发送,我尝试了以下代码。但我没有得到确切的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 文件
【问题讨论】:
-
你说的没有得到准确的excel是什么意思?
-
只是我的直觉,但是在回复中写
xlWorkSheet真的有什么作用吗?充其量我可以看到它发送对象的.ToString(),而不是对象的内容。您可能想尝试将工作簿保存到内存流中,然后将其发送
标签: c# asp.net excel excel-2007