(十分郁闷-高手赐教,十分感谢!)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/ ")下面,
然后从客户端下载下来就可以了。。