日期:2014-05-18  浏览次数:20487 次

(十分郁闷-高手赐教,十分感谢!)ASP.NET(C#)中关于使用Excel11.0导出为Excel的两问题(在线急等)
在做一个关于导出为Excel的功能,用的是Office   Excel11.0的组件实现,代码如下(ASP.NET+C#):
private   void   Button2_Click(object   sender,   System.EventArgs   e)
{
this._x   =   new   Excel.ApplicationClass();
this._x.UserControl   =   false;

this.SaveToXls( "D:\\test\\0.xls ");
this._x.Quit();

System.Runtime.InteropServices.Marshal.ReleaseComObject((object)   this._x);
System.GC.Collect();
}
private   void   SaveToXls(string   filename)
{
Excel.WorkbookClass   wb   =   (Excel.WorkbookClass)this._x.Workbooks.Add(System.Reflection.Missing.Value);
Excel.Range   er   =   _x.get_Range( "A1:A1 ", "D4:D4 ");
er.Borders.LineStyle   =   1;
er.Font.Bold   =   true;
this._x.Cells[1,1]   =   "aa ";
_x.get_Range( "A1:D1 ", "A1:D1 ").MergeCells   =   4;  
//er.Merge(4);
//_x.get_Range( "A1:A1 ", "D4:D4 ").Borders.LineStyle       =       1;//设置边框
//_x.get_Range( "A1:A1 ", "D4:D4 ").Font.Bold   =   true;//设置边框


//_x.get_Range( "D4:D4 ", "D4:D4 ").Borders.Color   =   "red "; //设置颜色

for(int   i   =   2;i   <=   5;   i++)
{
this._x.Cells[i,1]=i.ToString()   +   "+i ";
this._x.Cells[i,2]= " 'bbb2 ";
this._x.Cells[i,3]= " 'ccc3 ";
this._x.Cells[i,4]= " 'aaa4 ";
}      
wb.Saved   =   true;
this._x.ActiveWorkbook.SaveCopyAs(filename);
}

有两点问题:
一.当在客户端登录使用时按导出按钮时,弹出 "连接到服务器 "的对话框,并要求输入用户名和密码,否则出错;
二.导出后最终导出到了服务器上而不是客户端,请问如何才能导出到客户端;

由于在下,第一次做此功能,还望高手前辈们给予提示,十分感谢!!
在线急等.

------解决方案--------------------
sf
思路:
一般情况下是先导出在服务器的指定目录,然后再让客户端下载.下载完毕后,从服务器删除或备份.
------解决方案--------------------
第一点可能是Asp.Net的权限问题

第二点好像的确没办法解决,应该都是在服务器端生成了Excel然后让client端来下载的。
------解决方案--------------------
//****第一个问题:在COM+中设置Microsoft Excel应用程序,配置相应的参数就可以了哈.
//****第二个问题:导出数据到服务器上,导出完以后,马上显示一个下载窗口提供下载处理.
------解决方案--------------------
先存在Server.MapPath( "../Uploaded/ ")下面,
然后从客户端下载下来就可以了。。